悬赏分:30 浏览:292 次
|
应该说AOP不是一种技术,它的全称为面向方面的编程。是一种设计的思想。理论上任何一个语言都可以实现。AOP的目的就是将各个平行模块之间的耦合降到最低。
目前,很多框架和开源的项目中引入了IOC(控制逆转)容器和DI(依赖注入)容器,可以帮助你更容易的实现AOP。 相对于这些容器来说,事件和委托是一个教紧的耦合关系(因为双方需要更多了解对方的实现)。 但是,相对于耦合性来说,性能也是一个项目中需要很多考虑的方面。因此,如果你没有很好的理解以上方法的优缺点之前(比如我),最好还是不要使用这些抽象的概念。对于项目的顺利进行没有任何好处。 --------------- 更新: IOC & DI也是一种设计思想,而IOC容器&DI容器就是这种思想的具体实现了。因此,我上面采用了IOC容器和DI容器的说法。 AOP:面向方面编程,解决横切面关注点的重复代码问题,具体参考:http://wayfarer.cnblogs.com/articles/241024.html ,认真读一遍这篇文章,应该对AOP有进一步的认识了。 事件和委托(这里指C#的)跟AOP之间没有什么联系,可能在“后绑定”这个实现方式上有点类似的感觉,其实所有降低耦合的技术都有“后绑定”的影子,不能从这点说说它们之间有什么联系。 楼上的说得没错。张老师那系列文章写得很详细。 |