Управление контентом, управляемое доменом? - PullRequest
3 голосов
/ 22 марта 2010

Мне интересно - что я должен иметь в виду, когда пытаюсь применить дизайн на основе домена в приложении CMS, которое имеет довольно сложную бизнес-логику? Разве эти звери не являются взаимоисключающими?

Вот статья , чтобы показать, что я имею в виду.

Ответы [ 3 ]

1 голос
/ 04 июля 2012

Все дело в том, чтобы правильно отделить дерьмо.

Использование CMS при создании приложения, следуя идеям DDD, не является взаимоисключающим.

CMS - это просто еще одна технология, еще один способ выразить решение нашей проблемы, который не сильно отличается от других технологий, таких как Asp.Net Mvc, Ruby on Rails, языков программирования и даже абсолютно абстрактных вещей, таких как шаблоны проектирования.

1 голос
/ 31 марта 2010

что я должен иметь в виду ...

DDD был разработан для обработки сложной логики, поэтому начните читать:

Лучшие практики, Лучшие практики и Лучшие практики

Это Отличная статья о (не забывайте смотреть на тему ресурсов DDD;)

И это Листинг принесет некоторый код в таблицу (это C #).

Разве эти звери не являются взаимоисключающими?

Совсем нет.на самом деле существует жесткая связь между DDD и сложной доменной логикой.Многие шаблоны, которые вы в конечном итоге использовали при работе с DDD, были задуманы в поисках простого способа инкапсуляции сложной логики, необходимой при работе с доменом.например, хранилище, фабрика, агрегат и т. д.

Я знаю, что вы имеете в виду.Прочитав статью, на которую вы ссылаетесь, вы обнаружите, что CMS может легко стать проектом с двумя разными доменами: контентом и представлением.и это хороший подход, на самом деле мне это нравится.Но шаблоны DDD все еще применяются - и предназначены для работы с ними:).

Полагаю, вы собираетесь использовать DDD для разработки сложной CMS.


ОБНОВЛЕНИЕ: Я не думаю, что вы собираетесь использовать DDD для разработки сложной CMS.хахахаха

Я просто не представляю, как отделить бизнес-логику от инфраструктуры ... пока.

Привет снова, Арнис!

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

О данных:

- Данные контракты , независимо от системы, с которой вы интегрируете свою CMS.модель вашего домена CMS должна оставаться практически неизменной.ограничьте свои усилия по адаптации других системных источников данных к вашей модели CMS.;) полезные ссылки:

О компанииправила:

- Специальные бизнес-правила , но разные системы имеют разные бизнес-правила.и ваша CMS требует определенного уровня гибкости в этом аспекте.полезные ссылки:

Надеюсь, это принесет вам немногополезные идеи для вашего проекта;)

0 голосов
/ 01 апреля 2010

The Guardian рассказали о своем опыте применения DDD , который может иметь некоторое значение в качестве тематического исследования в содержательной области:

...