Я прочитал в Patterns, Principles and Practices of DDD книга, в которой, если вы хотите полностью инкапсулировать модель предметной области, вы можете сделать ее свойства приватными и использовать шаблон Memento. читать их. Был также пример, когда репозиторий получает моментальный снимок модели предметной области, затем сопоставляется с моделью базы данных и сохраняет свои изменения в БД. Также он извлекает модель базы данных из db, сопоставляет ее со снимком, а затем использует шаблон Factory для воссоздания модели домена из снимка и работы с ней.
- Я немного смущен тем, как много работы здесь делается, когда вы можете просто сопоставить модель базы данных с моделью предметной области, не используя фабрику или моментальные снимки. Разве это не намного проще?
Если мы собираемся следовать книге, правильный ли это способ вернуть моментальный снимок модели предметной области из сервисного уровня в уровень представления, а затем сопоставить его с моделью представления? Или создать моментальный снимок на уровне представления и передать его на сервисный уровень, используя шаблон фабрики, чтобы воссоздать его там, а затем передать модель предметной области в репозиторий, где он снова сделает свой снимок для сопоставления с моделью базы данных и сохранит в дб....
Можете ли вы привести пример, когда вам нужно использовать такую сложную архитектуру сопоставления?
Это действительно похоже на то, что вы пишете сложный код, когда его можно сделать намного проще.
ОБНОВЛЕНИЕ
Я могу привести примеры кода, если будет легче понять, что я прошу. ;)