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?

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


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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.