Rose debug info
---------------

Domain Driven Design DDD

DDD это подход к проектированию систем, который говорит как и в каком порядке нужно проектировать структуру класов приложения. Основная идея — что проектирование должно базироваться на объектах, определяющую предметную область (domain), которые содержат в себе не только свойства, но и бизнес-логику. А доступ к данным и отображение — вещи второстепенные.

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

Для проектирования я использую Activity Diagram и Sequencess Diagram в Visual Paradigm. Очень удобно.

По теме:
Шаблоны DDD описаны на wiki,
Введение DDD — отлично прокомментирован сам подход на блоге Александра Кондуфорова
Business domains for developers — о сути DDD и инструментах
Предметно-ориентированное проектирование (DDD). Структуризация сложных программных систем — книга о DDD, наш ведущий разработчик уже очень хорошо о ней отозвался.

Самое главное в разговоре с разработчиками о DDD, напоминать, что третья D это Design, а не Development :)