Clean Architecture in Android VS. Official Documentation

  Рет қаралды 6,494

Konstantinos Reppas

Konstantinos Reppas

Күн бұрын

Пікірлер: 24
@chair_smesh
@chair_smesh 11 ай бұрын
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 11 ай бұрын
I am very happy to read your comment, thanks a lot!
@pelealexandru
@pelealexandru 7 ай бұрын
Best explanation of Clean Architecture I've heard in 9y of software development.
@KonstantinosReppas
@KonstantinosReppas 7 ай бұрын
Thank you so much for such a kind comment!
@TheLovableRascal
@TheLovableRascal Жыл бұрын
Great video, appreciate your attention to detail here 👏
@KonstantinosReppas
@KonstantinosReppas Жыл бұрын
Much appreciated! Thanks for watching!
@kevinje3971
@kevinje3971 6 ай бұрын
Thanks for making this video!
@usmankhalid1274
@usmankhalid1274 7 ай бұрын
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 Жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
just do it in the UI
@fagundes418
@fagundes418 10 ай бұрын
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 Жыл бұрын
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 Жыл бұрын
There are a lot of differences. And I will try to showcase this in a real example in a follow up video.
@ErikBongers
@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
@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
@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.
@YeldarRating
@YeldarRating 9 ай бұрын
isn't repoimpl should be on a data layer and repo interface should be on the domain?
@KonstantinosReppas
@KonstantinosReppas 9 ай бұрын
Exactly.
@mahdim4383
@mahdim4383 8 ай бұрын
great and well-explained
@KonstantinosReppas
@KonstantinosReppas 8 ай бұрын
Thank you :)
@theophilus494
@theophilus494 Жыл бұрын
brilliant
@KonstantinosReppas
@KonstantinosReppas Жыл бұрын
Thanks a lot 🙏
Context in Android - A Deep Dive
12:39
Konstantinos Reppas
Рет қаралды 5 М.
UseCases VS. Repositories in Android - 'The Amazing Cards' Ep. 1
11:40
Konstantinos Reppas
Рет қаралды 2,4 М.
One-Time Events, StateFlow VS. Channels  - 'The Amazing Cards' Ep. 5
14:21
Konstantinos Reppas
Рет қаралды 3,4 М.
The Top 3 Clean Architecture Mistakes in Android
11:25
Philipp Lackner
Рет қаралды 20 М.
Understand Clean Architecture in 7 Minutes
7:02
Amichai Mantinband
Рет қаралды 105 М.
S.O.L.I.D. | Single Responsibility Principle feat. Kotlin (Part 1)
8:00
Konstantinos Reppas
Рет қаралды 4,2 М.
Senior Android Developer Checklist
19:53
Oday
Рет қаралды 12 М.
Cleaner Code With Use Cases - The Full Guide
14:16
Philipp Lackner
Рет қаралды 51 М.
Clean Architecture in Android in 5 minutes
5:17
Renaro Santos
Рет қаралды 20 М.