Эквивалент доменного дизайна для функциональных языков программирования

10

Мне действительно нравится идея доменного дизайна, однако, изучая Go, мне интересно, есть ли эквивалент DDD, нацеленный на более эффективный язык?

Мэтти
источник

Ответы:

12

Там нет эквивалента. DDD нужна была парадигма для поддержки частого переписывания в эволюционном сценарии разработки программного обеспечения. ООП выглядела тогда как единственная жизнеспособная стратегия. Но функциональные языки могут служить такому сценарию.

Возможно, вы захотите взглянуть на видео Грега Янга о DDD и функциональном программировании и видео Патрика Фредрикссона о внедрении DDD с помощью функционального языка, такого как Clojure.

ZioBrando
источник
3

Я полагаю, что DDD не о самом дизайне ООП, а больше о том, как вы подходите ко всему процессу разработки. Итеративная разработка, вездесущий язык, тесное сотрудничество бизнес-экспертов и разработчиков - все это зависит от языка и парадигмы.

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

Euphoric
источник
То, что вы описали, является первой частью DDD, но вторая часть - это фактическое построение моделей предметной области. Вторая часть интересует меня. Я не совсем уверен, как бы я смоделировал домен на функциональном языке (хотя и с интерфейсами).
Мэтти