Как стать автором
Обновить

Комментарии 7

не понял ровным счётом ничего
для объяснения таких вещей лучше бы давать какой-то пример или похожие метафоры
области задач, области решений…
= = =
вот, например, у нас есть проект, с архитектурой mvp, построенной на ООП, классы которой и их связи создавались с оглядкой на SOLID. И в этом проекте встречаются с 5 — 8 шаблонов проектирования.
как к этому применить DDD? и можно ли? и если можно — что это будет? Методология (как REST)? Или надстройка над ООП? Что может быть доменом в проекте? Главный инстанс нашего приложения может? Не может. А что может?
На что похож код, написанный по DDD? Библиотека? Фреймворк? АПИ?
= = =
не поймите неправильно, но если хотите объяснить такую тему доходчиво — то так и делайте, если же была цель просто нагородить хитрых фраз про что-то модное и непонятное — то таких материалов и так хватает.
Вот ваши фигурки, треугольнички, голубые и крассные — если их представить, как классы, то я для них могу написать интерфейсы — это уже будет шаг к DDD или нет?

как к этому применить DDD? 

Переименовать множество классов )

Методология (как REST)?

Да, но скорее как TDD

Что может быть доменом в проекте? 

Торговля, бухучёт, чертежное или слесарное дело, любая область человеческой (и не только деятельности, которую можно смоделировать на компьютере

На что похож код, написанный по DDD? 

На приложение на фреймворке (структура) плюс библиотека(и) классов и интерфейсов(классика)называемая "модель(и) домена(ов)"

Вот ваши фигурки, треугольнички, голубые и крассные — если их представить, как классы, то я для них могу написать интерфейсы — это уже будет шаг к DDD или нет?

Если назовете классы как Triangle, а не Fig1 - уже будет

ага, то есть, я правильно понял, что чтобы проект стал DDD, нужно типа попытаться разделить его классовую массу на такие себе подмассы? Типа эти классы работают на «бухучёт», эти — на «чертёжное дело», это и будут типа домены? И проект, например, какая-нибудь интранет-сеть.
Тогда можно сказать, мол, этот класс делает то и вот то, но присунуть в него этот метод будет плохо, потому что это будут данные или там ответственность не для его домена?

В целом так.


Сначала надо достигнуть единого языка (чтобы пользователи аналитики и программисты называли одинаковые понятия одинакоывыми словами). Потом поделить программу на куски предписанные DDD.


Картинко найденное в интернете

image


Книжку в комментарии не перескажешь же.

Как круто! Теперь, когда появилась эта очередная новая модная и молодежная концепция DDD мы наконец-то можем сказать, что у нас есть домен "зоомагазин" в котором есть поддомен "животные", в котором могут быть "кошечки" и "собачки", они могут издавать голос... Oh wait...

вы путаете наследование и ddd. но да технология настолько мудреная что даже авторы двух книг (синяя и красная) в некоторых местах друг другу противоречат

Большое спасибо за статью, познавательно. Хотелось бы еще примеров из реальной жизни, а не абстрактных фигур различных цветов.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий