Чем доменный дизайн отличается от простого использования спецификации? - PullRequest
3 голосов
/ 10 декабря 2008

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

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

1 Ответ

3 голосов
/ 10 декабря 2008

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

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

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

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

...