Clean Architecture in Android VS. Official Documentation

Поделиться
HTML-код
  • Опубликовано: 18 ноя 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.

  • @pelealexandru
    @pelealexandru 8 месяцев назад

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

  • @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.

  • @TheLovableRascal
    @TheLovableRascal Год назад

    Great video, appreciate your attention to detail here 👏

  • @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?

  • @kevinje3971
    @kevinje3971 8 месяцев назад

    Thanks for making this video!

  • @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.

  • @YeldarRating
    @YeldarRating 11 месяцев назад

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

  • @mahdim4383
    @mahdim4383 9 месяцев назад

    great and well-explained

  • @ErikBongers
    @ErikBongers 3 месяца назад

    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