2010-02-15 23 views
7

Estoy investigando y un punto que quiero tratar es "¿Cuál es la relación entre el diseño impulsado por dominio y la programación orientada a aspectos?"¿Cómo se puede combinar el diseño impulsado por dominio con la programación orientada a aspectos?

Sé que un principio fundamental en DDD es la separación de las preocupaciones y lo entiendo. Lo que no estoy seguro es si los aspectos en AOP actúan como "subdominios" en nuestro dominio en DDD.

Son estos dos conceptos, básicamente la misma cosa. Quiero decir, si desarrollo una aplicación siguiendo AOP y DDD, al final del día será cierto que "un subdominio" == "un aspecto".

También agradeceré cualquier otra opinión sobre lo que es común entre AOP y DDD.

Respuesta

7

Uno de los objetivos de DDD es tener una representación pura de su lógica de negocio que no esté influenciada por su infraestructura. Una herramienta muy poderosa para lograr esto es AOP. Principalmente uso AOP para subdominios de infraestructura como el registro, el almacenamiento en caché, la validación y el manejo de excepciones. Normalmente, no utilizo el AOP para la lógica comercial real, sin embargo, la validación es una especie de infraestructura y lógica comercial.

En los casos en que AOP sangra en lógica comercial, uso atributos/anotaciones para llamar el comportamiento. Para otras inquietudes, usaré la política/configuración para aplicar aspectos.

Cuestiones relacionadas