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?
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?
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
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.