Должны ли мы использовать структуру «пакет за особенностью» с DDD?

Это уменьшает размер изображения сразу же после рисования рисунка (по крайней мере, используя Qt4Agg / TkAgg, но не MacOSX - с matplotlib 1.4.0):

matplotlib.pyplot.get_current_fig_manager().resize(width_px, height_px)
1
задан Kwadz 19 March 2019 в 16:26
поделиться

2 ответа

, почему сообщество DDD не использует пакетные функции

Я думаю, вы обнаружите, что хорошие проекты следуют пакетным функциям.

В примерах вы можете обнаружить, что за ним не следят. Щедрая интерпретация заключается в том, что авторы пытаются упростить распознавание разделения интересов и направлений стрелок зависимости.

Менее щедро? авторы не обращают внимания или не знают лучше.

Должны ли мы использовать пакетные функции с DDD? Если да, то как это сделать?

Да, и почти так же, как если бы вы не не делали DDD, вы бы делали пакет по функциям. Это ортогональные проблемы.

0
ответ дан VoiceOfUnreason 19 March 2019 в 16:26
поделиться

Мое понимание и мое видение этого предмета заключается в следующем:

Пакет по признакам - это вертикальная нарезка (структурирование исходного кода в соответствии с концепциями предметной области) вместо горизонтальной наслоения (структурирование в соответствии с техническими концепциями) .

Но говорить «вместо» не совсем верно, так как есть момент, когда вы должны различать эти технические концепции. Было бы лучше сначала сказать «пакет за объектом», а затем пакет за слоем внутри каждого объекта.

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

Затем, внутри BC, тактический DDD способствует упаковке кода модели предметной области сначала в бизнес-концепции, а затем в технические концепции (тактические модели). Итак, у вас есть модули (группы агрегатов, которые тесно связаны и слабо связаны), и внутри каждого агрегата у вас есть сущности, объекты стоимости, фабрики, хранилище. Другие уровни (пользовательский интерфейс, приложение, инфраструктура) также могут быть структурированы по модулям.

Таким образом, в качестве резюме DDD следует смешанному подходу:

  • Упаковка с помощью бизнес-концепций с различными уровнями детализации: BC, модули, агрегаты.

  • Пакет за слоем внутри BC: пользовательский интерфейс, приложение, домен, инфраструктура.

PD: этот предмет (структура исходного кода) объясняется в главе 9 (Модули) книги Вона Вернона «Реализация DDD».

0
ответ дан choquero70 19 March 2019 в 16:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: