Como o design orientado ao domínio pode ser combinado com a programação orientada para aspectos?

StackOverflow https://stackoverflow.com/questions/2267206

Pergunta

Estou fazendo pesquisas e um ponto que quero cobrir é "Qual é a relação entre design orientado ao domínio e programação orientada para aspectos?"

Sei que um princípio principal no DDD é a separação de preocupações e eu entendo isso. O que não tenho muita certeza é que os aspectos da AOP agem como "subdomínios" em nosso domínio em DDD.

São esses dois conceitos, basicamente a mesma coisa. Quero dizer, se eu desenvolver um aplicativo seguindo AOP e DDD, no final do dia será verdade que "um sub domínio" == "um aspecto".

Também apreciarei quaisquer outras opiniões qual é o comum entre AOP e DDD.

Foi útil?

Solução

Um dos objetivos do DDD é ter uma representação pura da sua lógica de negócios que não é influenciada por sua infraestrutura. Uma ferramenta muito poderosa para realizar isso é AOP. Uso principalmente a AOP para subdomínios de infraestrutura, como log, cache, validação e manuseio de exceções. Normalmente, não uso a AOP para a lógica de negócios real, no entanto, a validação é uma espécie de infraestrutura e lógica de negócios.

Nos casos em que a AOP sangra na lógica de negócios, uso atributos/anotações para chamar o comportamento. Para outras preocupações, usarei a política/configuração para aplicar aspectos.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top