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

StackOverflow https://stackoverflow.com/questions/355990

Вопрос

Я читал, что дизайн, ориентированный на предметную область, заключается в концентрации на проблемной области вместо того, чтобы концентрироваться на программном обеспечении.Они говорят, что легче решить сложности проблемной области, чем сложности программного обеспечения, потому что после того, как вы решили проблему предметной области, вы также лучше знаете, как создавать программное обеспечение.Также они говорят, что на самом деле домен сложнее, чем структуры программного обеспечения, или что если вы не видите лес из леса, у вас проблемы.

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

Это было полезно?

Решение

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top