Определение шаблона проектирования на основе домена - PullRequest
3 голосов
/ 12 октября 2010

Привет всем Я пытаюсь построить решение, используя подход DDD. Я создал набор сущностей и несколько картографических данных, которые я использую для удаления зависимости персистентности данных от сущностей. Это правильно с моей стороны, чтобы использовать datamapper как "finder" класс, у меня есть методы, такие как

GetByID () getUsersByRanking () getByLastName ()

или datamapper не должен содержать специализированных методов поиска и использовать только getById ()?

Правильно ли с моей точки зрения предполагать, что шаблон Repository используется для удаления тех «специализированных» методов поиска, которые я добавил в datamapper, и вместо этого предоставляет клиенту язык запросов, который они могут использовать вместо этого для поиска объектов другими значит чем удостоверение личности?.

Я действительно надеюсь, что кто-то может помочь мне прояснить, как эти шаблоны взаимодействуют друг с другом. Модель предметной области, Datamapper, Presistance Data, Repository.

Я много читал в POEAA Мартина Фаулера, но с трудом связывал точки:)

1 Ответ

0 голосов
/ 14 октября 2010

Допустим, что репозитории являются точкой входа для сущностей в DDD. Вы можете создать абстрактный, а затем специализировать его для каждой сущности. Таким образом, вы можете запрашивать хранилище каждый раз, когда вам нужно получить сущность. Datamapper - это решение для отображения объектов с их представлениями базы данных или любых других хранилищ. Поэтому я предполагаю, что datamapper должен быть скрыт за шаблоном репозитория.

...