Maneira funcional de implementar o design controlado por domínio
Eu tive muita experiência em escrever aplicativos orientados a domínio usando C #. Quanto mais aplicativos eu escrevo, mais acho que quero adotar uma abordagem que não se encaixa tão bem com as técnicas C # / OO padrão:
Eu quero escrever tantas funções puras quanto possível, porque elas são realmente fáceis de testar.Quero escrever minha lógica de negócios de uma maneira mais declarativa.Então, eu estive analisando linguagens funcionais como F #. Afinal, não há razão para o design orientado a domíniotem para ser implementado usando OO.
Fiquei me perguntando se alguém tem alguma idéia / experiência em fazer design de design orientado por domínio enquanto usa uma linguagem funcional. Especialmente:
Como seria um modelo de domínio funcional?Como você abstraia a camada de acesso a dados do modelo de domínio.