Ich arbeite an einer Android-Anwendung mit Repository-Muster, aber ich konnte ich nicht finden eine komplette Reihe von praktischen Implementierungen von Repository-Muster in Android. ein empfohlenes Tutorial?Anwendung von Repository-Muster in Android
Antwort
Ich laufe in die gleiche Frage und fand einen guten Artikel, die verschiedene Ansätze für die Repository in Android vergleicht: Evolution of repository pattern
Er spricht über einen bekannten Ansatz, Clean architecture, was darauf hindeutet, nicht Dinge overengineer.
Um diese Beiträge zu verstehen, sollten Sie einige Erfahrung in der Verwendung von Mustern und Repository haben. Meiner Meinung nach können diese Beiträge zu einer korrekten Implementierung führen.
Implementieren Repository-Muster ist ziemlich einfach, Sie müssen nur eine Schnittstelle mit CRUD-Methoden erstellen und in Ihrer Domänenlogik verwenden.
Zum Beispiel:
class CreateEntityException;
class ReadEntityException;
class UpdateEntityException;
class DeleteEntityException;
interface Repository<Entity> {
Entity create(Entity entity) throws CreateEntityException;
Entity read(long entityId) throws ReadEntityException;
Entity update(Entity entity) throws UpdateEntityException;
void delete(long entityId) throws DeleteEntityException;
}
Methoden zählen und Signatur kann in Ihrem eigenen Projekt unterschiedlich sein, aber ein Ansatz ist das gleiche. Danach können Sie eine konkrete Implementierung des Repositorys erstellen, die die eine oder andere Datenquelle - ContentProviderRepository, OrmLiteRepository, RealmRepository usw. kapseln. Dann sollten Sie mit dem Dependency Injection Prinzip die korrekte Implementierung injizieren.
Es gibt wenige gute Bücher, die Repository-Muster abgedeckt haben. Pattern ist unabhängig von der Plattform, so dass es einfach ist, jede Plattform zu implementieren und zu verwenden.
https://www.amazon.com/Domain-Driven-Design-Tackling-Complexity-Software/dp/0321125215
https://www.manning.com/books/functional-and-reactive-domain-modeling
Ein Link zu einer Lösung ist willkommen, aber bitte sicher, dass Ihre Antwort ist nützlich, ohne es: [add Kontext rund um den Link] (// meta.stackexchange.com/a/8259) Damit Ihre Mitbenutzer eine Idee davon haben, was es ist und warum es da ist, dann zitieren Sie den relevantesten Teil der Seite, auf die Sie verlinken, falls die Zielseite nicht verfügbar ist. [Antworten, die etwas mehr als ein Link sind, können gelöscht werden.] (// stackoverflow.com/help/deleted-answers) – paper1111
Während dieser Link die Frage beantworten kann, ist es besser, die wesentlichen Teile der Antwort hier einzubeziehen und bereitzustellen der Link als Referenz. Nur-Link-Antworten können ungültig werden, wenn sich die verknüpfte Seite ändert. - [Aus Bewertung] (/ review/low-quality-posts/17473408) – Cheesebaron