Clean Architecture in Android VS. Official Documentation

แชร์
ฝัง
  • เผยแพร่เมื่อ 26 พ.ย. 2024

ความคิดเห็น • 26

  • @chair_smesh
    @chair_smesh ปีที่แล้ว +2

    All your videos have been super helpful! I'm starting to understand why we do certain things instead of just following what Google recommends in the guidelines. The Android learning curve is steep, but videos like these give me a deeper understanding.

    • @KonstantinosReppas
      @KonstantinosReppas  ปีที่แล้ว

      I am very happy to read your comment, thanks a lot!

  • @pelealexandru
    @pelealexandru 9 หลายเดือนก่อน

    Best explanation of Clean Architecture I've heard in 9y of software development.

    • @KonstantinosReppas
      @KonstantinosReppas  9 หลายเดือนก่อน

      Thank you so much for such a kind comment!

  • @TheLovableRascal
    @TheLovableRascal ปีที่แล้ว

    Great video, appreciate your attention to detail here 👏

  • @kevinje3971
    @kevinje3971 8 หลายเดือนก่อน

    Thanks for making this video!

  • @alexrudy
    @alexrudy หลายเดือนก่อน

    Well explained. Thank you!

  • @usmankhalid1274
    @usmankhalid1274 9 หลายเดือนก่อน

    Where goes the single responsibility principle when all the layers implement the interfaces from the domain layer? What about seperation of concerns? Why the domain layer should know what the data layer repository response should look like?

  • @pur1t0
    @pur1t0 ปีที่แล้ว +5

    I'm new to this. Can someone explain me where should android specific things go like workers, notification, Bluetooth implementations go? Dependency injection?

    • @tal_wolfrid
      @tal_wolfrid ปีที่แล้ว +8

      This is secret knowledge that nobody shares, like literally nobody wants to touch this topic probably because it's hard to fit such elements into this architecture.

    • @GakisStylianos
      @GakisStylianos ปีที่แล้ว

      On another module which is an Android library, and the module which holds the ViewModel refers to it. A use case in the domain layer may reference it too, but it'd then also have to be an Android library which you may not want, so probably straight from the ViewModel would be more popular. Then in turn, that WorkManager or whatever may have to look into whatever module gives them access to the database, network or whatever.

    • @Wengelef
      @Wengelef ปีที่แล้ว +2

      just do it in the UI

    • @fagundes418
      @fagundes418 ปีที่แล้ว

      These things are bound to android platform, in my case I put all in the presentation(UI) layer. Someday if you need to change your project to Web(example) u will not move the presentation layer.

  • @AndreasKyriakopoulos-ge6py
    @AndreasKyriakopoulos-ge6py ปีที่แล้ว +1

    While, from your demonstration, I see the difference between those two architectures, does it have any practical meaning when following one over the other? If the only real difference is the placement of the data source implementations, I can't think of what impact can this have... (maybe the build times when changing these implementations?)

    • @KonstantinosReppas
      @KonstantinosReppas  ปีที่แล้ว +3

      There are a lot of differences. And I will try to showcase this in a real example in a follow up video.

  • @mahdim4383
    @mahdim4383 10 หลายเดือนก่อน

    great and well-explained

  • @YeldarRating
    @YeldarRating 11 หลายเดือนก่อน

    isn't repoimpl should be on a data layer and repo interface should be on the domain?

  • @ErikBongers
    @ErikBongers 4 หลายเดือนก่อน

    Here's my principle. An interface that has only one implementation is boilerplate.
    And if you like buzz words, here's one for you; Poltergeist:
    "The poltergeist anti-pattern occurs when we have a bunch of infrastructure code that serves the design but is otherwise useless."
    So, if it wasn't clear, I'm not going to add a bunch of interfaces in between my Repos, just to change the direction of an arrow on a PowerPoint slide. That's religion, not science.

    • @KonstantinosReppas
      @KonstantinosReppas  3 หลายเดือนก่อน

      Hello Erik. Nobody forces you to add anything, it's your code. And your decision at the end of the day.
      The success of your decision will be measured in the future, both by your future self and your colleagues working on your code base.
      Have a good day.

    • @KonstantinosReppas
      @KonstantinosReppas  3 หลายเดือนก่อน

      Hello Erik. Nobody forces you to add anything, it's your code. And your decision at the end of the day.
      The success of your decision will be measured in the future, both by your future self and your colleagues working on your code base.
      Have a good day.

  • @theophilus494
    @theophilus494 ปีที่แล้ว

    brilliant