2016-04-08 16 views
1

Ich habe ein Repository, das eine Entität mit vielen Informationen behandelt, die mit verschiedenen Tabellen, aber die gleiche Verbindung gefüllt wird.Ist es in Ordnung, ein Repository aus mehreren untergeordneten Repositories zu erstellen?

Um die Dinge besser zu kapseln, habe ich "subrepositories" erstellt, die Teile der Entität füllen.

Ist es gegen das Muster oder vollkommen richtig? Danke.

+0

Ich denke, das sollte in CodeReview zusammen mit einem relevanten Arbeitscode gefragt werden. – Alexei

+2

Diese Frage kann auf eine einfache Art und Weise beantwortet werden, es ist kein "es kommt auf" Art der Antwort. – MikeSW

+2

Zustimmen. @DavidG und die anderen, kannst du bitte auf "meinungsbasiert" nachlesen und aufhören, Q's so zu schließen? Weil es nicht der erste ist. – guillaume31

Antwort

0

Um Ihre Frage zu beantworten, ich denke, es ist sinnvoll, eine klare Unterscheidung zwischen der data mapper, die Tabellen auf Objekte und die repository Karten zu machen macht:

Ein Repository

vermittelt zwischen der Domäne und Datenzuordnung Schichten

Während ein Data Mapper

verschiebt Daten zwischen Objekten und einer Datenbank

Also, wenn ich Ihre Frage richtig verstanden habe, sind Sie eigentlich reden über die Daten Mapper.

Ja, das Erstellen von Datenmappern, die zu größeren Mappern zusammengesetzt werden können, ist ein guter Ansatz. Es fördert die Trennung von Anliegen und macht die einzelnen Mapper einfach.

Repositories auf der anderen Seite sollten pro Aggregat verwendet werden. Erstellen Sie ein Repository für jedes Aggregat in Ihrer Domäne. Das bedeutet auch, dass das Repository nur mit ganzen Aggregaten und nicht mit Entitäten funktioniert. Um sein Ziel zu erreichen, kann das Repository die (zusammengesetzten) Datenmapper verwenden. So beziehen sich die beiden Konzepte.