Equivalente ao Design Orientado a Domínio para linguagens de programação funcional

10

Eu realmente amo a idéia de design orientado a domínio, no entanto, enquanto estou aprendendo o Go, fico imaginando se existe o equivalente ao DDD que visa uma linguagem efetivamente mais funcional?

Matty
fonte

Respostas:

12

Não há equivalente. O DDD precisava de um paradigma para suportar a reescrita frequente em um cenário evolutivo de desenvolvimento de software. OOP parecia a única estratégia viável naquela época. Mas as linguagens funcionais também podem servir para esse cenário.

Você pode dar uma olhada no vídeo de Greg Young sobre DDD e programação funcional e no vídeo de Patrik Fredriksson sobre a implementação de DDD com uma linguagem funcional como Clojure

ZioBrando
fonte
3

Acredito que o DDD não é sobre o design do OOP, mas sobre como você aborda todo o processo de desenvolvimento. Desenvolvimento iterativo, linguagem onipresente, cooperação estreita de especialistas e desenvolvedores de negócios são independentes de linguagem e paradigma.

O design de objetos no DDD não é algo novo. Os padrões descritos no DDD existiam muito antes de o DDD ver a luz do mundo. Raízes agregadas, padrão de estratégia e objetos de valor foram apenas adequados para descrever a lógica de negócios. Portanto, sua pergunta deve ser mais como "Como expressar a lógica de negócios e persistir em seu estado na linguagem funcional". Você provavelmente está procurando nos padrões de design as linguagens de programação funcionais.

Eufórico
fonte
O que você descreveu é a primeira parte do DDD, mas a segunda parte é a construção real dos modelos de domínio. A segunda parte é a que me interessa. Não sei exatamente como modelaria um domínio em uma linguagem funcional (embora uma que tenha interfaces).
Matty