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.
@KonstantinosReppas11 ай бұрын
I am very happy to read your comment, thanks a lot!
@pelealexandru7 ай бұрын
Best explanation of Clean Architecture I've heard in 9y of software development.
@KonstantinosReppas7 ай бұрын
Thank you so much for such a kind comment!
@TheLovableRascal Жыл бұрын
Great video, appreciate your attention to detail here 👏
@KonstantinosReppas Жыл бұрын
Much appreciated! Thanks for watching!
@kevinje39716 ай бұрын
Thanks for making this video!
@usmankhalid12747 ай бұрын
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 Жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
just do it in the UI
@fagundes41810 ай бұрын
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 Жыл бұрын
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 Жыл бұрын
There are a lot of differences. And I will try to showcase this in a real example in a follow up video.
@ErikBongersАй бұрын
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Ай бұрын
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Ай бұрын
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.
@YeldarRating9 ай бұрын
isn't repoimpl should be on a data layer and repo interface should be on the domain?