【发布时间】:2012-02-23 16:09:43
【问题描述】:
面向方面的编程有什么主要弱点吗?我喜欢通过将调用限制在其方面内的一个类来减轻横切关注点的想法。但对我来说,这有点奇怪。
问题 1. 我们以 Logger 类为例。每个类/方法都可能需要调用 Logger 类的某些方法。在 Logger 方面编写所有这些调用使将来的修改变得容易。但是,谁应该维护 Logger 的方面?如果 Logger 类的开发人员这样做,他/她需要对整个项目有一个全局视图,如果项目足够大,我认为这是不可能的。另一方面,如果我们允许每个人修改 Logger 的类,就会有太多人访问同一段代码。如果他们中的任何一个犯了错误,代码就会失败。那么,一般来说,谁应该维护这些方面?
问题2.性能会有问题吗?我认为一个切入点就像注册一个事件监听器。运行时切入点太多,会不会拖慢程序?
谢谢,
【问题讨论】:
标签: programming-languages aspectj spring-aop aop