10.AOP

一曲冷凌霜 提交于 2020-08-12 20:16:03

1.AOP:允许开发者动态修改静态的OO模型

2.AOP是一种编程思想,是OOP的补充

3.正是因为能够动态的扩展功能,所以在程序设计时就有以下好处:

(1)聚焦核心业务逻辑,权限/异常/日志/缓存/事务 等通用功能通过AOP方式添加,程序设计简单

(2)动态扩展,集中管理,代码复用,规范化

4.实现AOP的方式

(1)静态实现:装饰器/代理模式

(2)动态实现:Remoting/Castle(Emit)

(3)静态织入:PostSharp

(4)依赖注入容器的AOP扩展

Unity容器:

①顺序问题:配置文件的注册顺序是调用顺序,然后才是业务方法,但扩展逻辑可以在业务方法后

②接口方法不需要某个AOP扩展--》a.判断方法 b.使用特性

5.MVC的Filter:特性标记,然后该方法执行前/后就多了逻辑

invoke调用中心--负责反射调用方法--检查特性--有则执行额外逻辑

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!