11

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

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

是不是这两个概念,基本上是一回事。我的意思是,如果我按照 AOP 和 DDD 开发应用程序,那么“子域”==“一个方面”最终会是真的。

我还将欣赏任何其他意见,AOP 和 DDD 之间的共同点是什么。

4

1 回答 1

12

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

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

于 2010-02-15T16:41:44.840 回答