20180703Advanced11Course26AOP(面向切面编程AOP-设计进阶)

一、背景

OOP,面向对象适合做大型系统,但是,它在需求变化扩展的时候,比较困难;因为面向对象是静态的:任何需求的细微变化,都可能导致比较大的影响。当然,设计模式也是解决OOP这种弊端的一种方式,可以让我们设计出灵活、可扩展、可重用的架构;但是,设计模式都围绕着抽象、类来处理,只能解决部分问题,它无法解决类的内部变化,而不影响其稳定的问题。

二、AOP

AOP:面向切面编程,它是一种编程思想,是对OOP的补充,解决类的内部变化的问题。能够让开发者动态的修改一个静态的面向对象模型,即不破坏封装的前提下,增加各种非业务功能(非业务逻辑,即公共逻辑,通用逻辑;而不是业务逻辑,因为业务逻辑是OOP的职责)。

 AOP的实现方式:

(1)静态实现AOP

(2)动态实现AOP

(3)Unity、MVC中的AOP(重点)

 三、需求变化

验证用户登录、异常处理、日志处理、缓存处理、添加事务、增加性能监控、发送邮件等

代理、装饰器

 框架,通用性。

 

posted @ 2020-11-03 17:32  揽月2020  阅读(48)  评论(0编辑  收藏  举报