DDD.Куда относятся настраиваемые пользователем настройки? - PullRequest
9 голосов
/ 12 октября 2011

Я работаю над своим первым "настоящим" приложением DDD.

В настоящее время мой клиент не имеет доступа к уровню моего домена и запрашивает изменения в домене, выполняя команды.

У меня тогда есть отдельная (уплощенная) модель чтения для отображения информации (например, простой CQRS).

Сейчас я работаю над настройкой или, в частности, настройками, которые настраивает пользователь. Используя в качестве примера приложение блога, в качестве настроек можно указать заголовок или логотип блога.

Я разработал универсальный конструктор конфигурации, который создает строго типизированный объект конфигурации (например, BlogSettings) на основе простой пары пар значений ключей. Я застрял на том, являются ли эти объекты конфигурации частью моего домена. Мне нужен доступ к ним с клиента и сервера.

Я подумываю о создании «общей» библиотеки, содержащей эти объекты конфигурации. Это правильный подход?

Наконец, где должен храниться код для сохранения таких параметров конфигурации? Простым решением было бы поместить этот код в мой проект Domain.Persistence, но тогда, если они не являются частью домена, они действительно должны быть там?

Спасибо

Ben

1 Ответ

10 голосов
/ 12 октября 2011

Настраиваемые пользователем параметры относятся к домену, если они строго типизированы и смоделированы на основе вездесущего языка, то есть «BlogSettings».Единственная разница между настройками и другими объектами домена заключается в том, что концептуально настройки - это «доменные одиночки».У них нет жизненного цикла, как у других сущностей, и у вас может быть только один экземпляр.

Универсальный конструктор конфигурации принадлежит к Persistence, как и код, отвечающий за сохранение и чтение настроек.

...