域驱动设计如何与面向方面编程相结合?

时间:2010-02-15 16:12:47

标签: domain-driven-design paradigms aop

我正在做研究,我想要介绍的一点是“域驱动设计和面向方面编程之间的关系是什么?”

我知道DDD的一个主要原则是关注点的分离,我理解这一点。我不确定的是,AOP中的各个方面是否在我们的DDD域中扮演“子域”。

这两个概念,基本上是一回事。我的意思是,如果我在AOP和DDD之后开发一个应用程序,那么在一天结束时“子域名”=“一个方面”是真的。

我还要感谢任何其他意见AOP和DDD之间的共同点。

1 个答案:

答案 0 :(得分:9)

DDD的目标之一是拥有不受基础架构影响的业务逻辑的纯粹表示。实现这一目标的一个非常强大的工具是AOP。我主要将AOP用于基础结构子域,如日志记录,缓存,验证和异常处理。我通常不会将AOP用于实际业务逻辑,但验证是基础架构和业务逻辑。

在AOP流入业务逻辑的情况下,我使用属性/注释来调用行为。对于其他问题,我将使用策略/配置来应用方面。