在软件开发中,散布于应用中多处的功能被称为横切关注点。(cross-cutting concern)
从概念上这些横切关注点,和应用的业务逻辑是相互分离的,但是实际中这些横切关注点却是直接嵌套在业务逻辑层中的。面向切面编程就是为了让这些关注点,和业务逻辑层分离。
DI是为了实现应用对象之间的解耦。
横切关注点可以被模块化为特殊的类,这些类被称为切面(aspect)
切面的工作被称为通知
通知:通知定义了切面是什么以及何时使用。
连接点:在应用执行过程中能够切入切面的一个点。
切点:切点定义会匹配通知所要织入的一个和多个连接点(定义了切面在何处执行)
切点和通知定义了切面的全部内容。
引入(introduction):无需修改现用的类,可以为类添加新的方法和属性。
织入(Weaving)是把切面应用到目标对象并创建新的代理对象的过程。
连接点是通知可以应用的所有点,切点是通知被应用的具体位置(哪些连接点)。
换言之:切点定义了哪些具体的连接点会得到通知。
时间: 2024-10-12 20:39:50