Чем доменный дизайн отличается от простого использования спецификации?

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

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

10.12.2008 13:11:47
1 ОТВЕТ
РЕШЕНИЕ

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

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

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

Там хорошая бесплатная книга по Предметно-Driven дизайн здесь (требуется Логин , к сожалению).

3
10.12.2008 13:20:36