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


10

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

Ответы:


12

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

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


3

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

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


То, что вы описали, является первой частью DDD, но вторая часть - это фактическое построение моделей предметной области. Вторая часть интересует меня. Я не совсем уверен, как бы я смоделировал домен на функциональном языке (хотя и с интерфейсами).
Мэтти
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.