android10 / android10/Android-CleanArchitecture

Data layer knows about Domain layer

Offen
#150 8 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
discussion question
Vorherrschende Sprache
Java
Sterne
15.5k
Forks
3.3k
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

Hi everyone. I wild about clean architecture, design patterns... I felt a long time ago that I need to design application in another way, found awesome article about Clean Architecture, but have just started to implement it.
I have one question about `Data` and `Domain` layer.
As I understand.
1. Data layer is responsible for getting data from different places like file, db, cloud ...
2. Domain is responsible for `Use cases`. Use cases are verbs used in application like `GetUserWithAwesomeAvatarImage` or something else. This layer is responsible for creating specific request to `data layer`, data layer support crud operations only, all application specific logic should be handled on `domain layer`

There is also one important rule that `dependency arrow` should only point from upper layer to lower but not vice versa, but in example provided by author there dependency pointing from `Data` to `Domain`. Maybe I am wrong, but I thought that it should point from `Domain` layer to `Data`.

For example create all repository stuff on `data layer` but `domain layer` will just consume repository from `data layer`, for example using dependency injection.

Please explain this.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Es wird keine Datei, kein Test und kein Einstiegspunkt genannt. Lies zuerst die Data- und Domain-Schichten des Beispiels und vergleiche anschließend ihre Abhängigkeitsrichtung mit der im Issue beschriebenen Clean-Architecture-Regel. Erledigt ist die Aufgabe, wenn klar dokumentiert ist, welche Schicht von welcher abhängen sollte und warum.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
android, java
Bereich
mobile-dev
Issue-Typ
Dokumentation
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.