我的公司正在尝试采用 DDD。似乎 DDD 的指导是要求域程序集定义其所有服务接口,并允许实现者对域程序集进行引用并实现服务接口。然后使用 DI 域将获得实现。但是,对于横切关注点,要求域组件重新定义诸如日志记录等不是该组件的核心业务域的接口似乎是不负责任的。我注意到许多商业组件(例如 Quartz.NET)正在使用标准的、广泛接受的接口集(例如 Apache Commons)以框架友好的方式解决横切关注点。这是否与 DDD 方式一致,还是真的有像 AOP 这样的跳跃,
以供参考:
来自http://www.infoq.com/articles/ddd-in-practice
“这些是可重用的非域相关问题,通常倾向于分散和重复包括域层在内的整个代码。在域对象中嵌入此逻辑会导致域层与非域相关代码的纠缠和混乱。”
来自http://cyrille.martraire.com/2009/12/your-crosscuttingconcerns-are-someone-else-core-domai/
“您的横切关注点是其他人的核心领域”