一个很好的例子是cross-cutting concern什么?维基百科页面上的病历示例在我看来并不完整。
cross-cutting concern
特别是从此示例中,为什么日志记录会导致代码重复(散射)?(除了像log("....")到处这样的简单调用,这似乎没什么大不了的)。
log("....")
a core concern和a和有cross-cutting concern什么不一样?
core concern
我的最终目标是更好地了解AOP。
查看更多
在了解“ 横切关注点”之前,我们必须先了解“ 关注点”。
甲关注的是,是指系统的功能的基础上划分的一部分的术语。
关注分为两种类型:
礼貌
该图代表了一个细分为模块的典型应用程序。每个模块的主要关注点是为其特定领域提供服务。但是,每个模块还需要类似的辅助功能,例如安全日志记录和事务管理。横切关注点的一个示例是“日志记录”,它经常在分布式应用程序中使用,以通过跟踪方法调用来辅助调试。假设我们在每个函数体的开头和结尾都进行日志记录。这将导致横切所有具有至少一个功能的类。
(礼貌)
“横切关注点是适用于整个应用程序的关注点”➤对此不确定,因为事务管理不适用于“整个”应用程序,但仍是横切关注点。图片告诉我什么也没有说老实话,这只是令人困惑。
很好的解释,但是我对我们称之为“这些关注点”的图片有一点疑问,交叉关注点不是交叉关注点,我认为最好用交叉关注点来消除其他关注点,而不是另辟around径。像面向方面的开发
答案仍然无法通过简单地使用Log4j之类的内容和LogManager.getLogger()。info(ModuleName,msg)之类的日志来解释问题