Использование заданий базы данных в доменном дизайне - PullRequest
0 голосов
/ 01 апреля 2011

Я создаю приложение .net, используя подход, основанный на домене. Приложение включает в себя выставление счетов клиентам за услуги. Правило гласит, что ежедневно, в определенный момент времени должен генерироваться счет-фактура и обновляться баланс пользователя. Как я вижу, лучшим вариантом здесь будет задание базы данных, которое по расписанию выполняет вышеуказанную задачу. Однако совместимо ли это с DDD? В этом случае логика разделена между базой данных и слоем Domail, что не очень хорошая идея.

Ответы [ 2 ]

2 голосов
/ 01 апреля 2011

Часть DDD управляет, насколько это возможно, отделением модели предметной области от технических проблем.

Использование бизнес-знаний в базах данных означает:

  • У вас будет 2 места для поиска бизнес-логики (потеря изоляции модели)
  • Ваша бизнес-логика будет описана на 2 языках (например, c #; t-sql)
  • Возможно, нелегко управлять бизнес-логикой с помощью процедурных сценариев sql
  • Может быть нелегко синхронизировать с частью, записанной в .Net

Лично я бы не пошел по этому пути. Я бы написал справочную службу.

2 голосов
/ 01 апреля 2011

Реализация задания базы данных будет более трудной для отладки и модульного тестирования, если это важно.

Я бы порекомендовал сервис, который выполняет запланированные задачи.

...