2008-12-10 3 views
3

Я прочитал, что Domain Driven Design концентрируется на проблемной области, а не концентрируется на программном обеспечении. Говорят, что легче решать сложность проблемной области, чем сложности программного обеспечения, потому что после того, как вы решили домен, вы также знаете, как создавать программное обеспечение. Также они говорят, что на самом деле домен более сложный, чем структуры программного обеспечения, или что, если вы не видите лес из леса, у вас проблемы.Как дизайн, управляемый доменом, отличается от спецификации?

Но как дизайн, управляемый доменом, отличается от спецификации программного обеспечения? Я имею в виду, конечно, мы должны познакомиться с проблемной областью, прежде чем начинать кодирование. Разве DDD изобретает колесо?

ответ

3

Разработка, основанная на домене, больше связана с созданием общей модели мира (и связанного с ней общего языка), которую могут использовать как вы, так и эксперты домена.

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

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

Существует бесплатная бесплатная книга по проектированию доменов here (для входа в систему требуется, к сожалению, вход в систему).

Смежные вопросы