在这个回合中,我准备修改每一个方法,让它有一个注释,并退回到只在系统中使用一个子方面(像在版本2中一样)。
我已经将系统耦合减少到每个子方面所捕获的更少的程序元素数(比如说从n减少到1),以此取代了那个大大的N。
依赖于切入点而不是类型,要么不作任何假定,要么将上下文规格推迟到具体的子方面中。
虽然有了改进,但是这种设计仍然是一个子方面与类之间的N对一依赖关系。
不过,将基本方面与元数据驱动的子方面分离具有若干好处。
清单5显示了银行系统的ReadWriteLockSynchronizationAspect方面的、元数据驱动的子方面。
下面的子方面定义了一个捕获需要事务管理支持的连接点的切入点。
现在,如果类发生改变,那么只需要修改类中嵌套的子方面即可。