面向切面编程有哪些主要弱点?我喜欢通过将对一个类的调用限制在其方面内来缓解横切关注点的想法。但对我来说,这有点奇怪。
问题1. 我们以Logger类为例。每个类/方法可能需要调用Logger类的某些方法。将所有这些调用写在Logger方面内可以使未来的修改更加容易。然而,谁应该维护Logger的方面?如果Logger类的开发者这么做,他/她需要全局了解整个项目,如果项目足够大,这似乎是不可能的。另一方面,如果我们允许每个人修改Logger类,那么会有太多人访问同一段代码。如果其中任何人犯了错误,代码就会失败。因此,通常由谁来维护方面呢?
问题2. 性能会成为问题吗?我认为一个切入点就像注册一个事件监听器。如果运行时有太多切入点,程序会变慢吗?
谢谢,