温馨提示:本文翻译自stackoverflow.com,查看原文请点击:design patterns - Cross cutting concern example
aop design-patterns cross-cutting-concerns

design patterns - 跨领域关注示例

发布于 2020-04-13 10:01:43

一个很好的例子是cross-cutting concern什么?维基百科页面上的病历示例在我看来并不完整。

特别是从此示例中,为什么日志记录会导致代码重复(散射)?(除了像log("....")到处这样的简单调用,这似乎没什么大不了的)。

a core concern和a和有cross-cutting concern什么不一样?

我的最终目标是更好地了解AOP。

查看更多

提问者
jlars62
被浏览
53
Premraj 2015-12-13 11:19

在了解“ 横切关注点”之前,我们必须先了解“ 关注点”

关注的是,是指系统的功能的基础上划分的一部分的术语。

关注分为两种类型:

  1. 代表主要需求的单个和特定功能的关注点称为核心关注点

    系统的主要功能被称为核心问题。
    例如:业务逻辑
  2. 表示次要功能的关注点称为跨部门关注点或系统范围内的关注点
    OR
    横切关注点是关注它适用于整个应用程序,它会影响整个应用程序。
    例如:日志记录,安全性和数据传输是几乎每个应用程序模块都需要的关注点,因此它们是跨领域的关注点。

礼貌

在此处输入图片说明

该图代表了一个细分为模块的典型应用程序。每个模块的主要关注点是为其特定领域提供服务。但是,每个模块还需要类似的辅助功能,例如安全日志记录和事务管理。横切关注点的一个示例是“日志记录”,它经常在分布式应用程序中使用,以通过跟踪方法调用来辅助调试。假设我们在每个函数体的开头和结尾都进行日志记录。这将导致横切所有具有至少一个功能的类。

(礼貌)