标签:是什么 组合 系统 统一 unity oop 隐藏 ble unit
什么是AOP
面向切面编程(AOP是Aspect Oriented Program的首字母缩写) ,我们知道,面向对象的特点是继承、多态和封装。而封装就要求将功能分散到不同的对象中去,这在软件设计中往往称为职责分配。实际上也就是说,让不同的类设计不同的方法。这样代码就分散到一个个的类中去了。这样做的好处是降低了代码的复杂程度,使类可重用。
特性
1、定义
特性其实是一个类,继承了Attribute。
特性的命名规范 XXXAttribute。但是也可以不遵守这个规范。public class BaseAttribute : Attribute
2、本质
特性放在元数据里面了matedata。所有获取特性的时候可以通过反射。
特性对程序是没有影响的,除非我们要通过反射区获取他,进行一些操作。
其实特性就是载不印象修饰类型的前提下,添加了程序运行时的可见信息。
Attribute的颜色有点淡,因为可以省略掉只写一个Table
3、好处
特性是为类型额外添加信息,这样侵入性就低了。所以做轻量级的框架就可以适当的用一些特性。
AOP-装饰器模式实现静态代理
意图:
动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator 模式相比生成子类更为灵活。
适用性:
在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责。
处理那些可以撤消的职责。
当不能采用生成子类的方法进行扩充时。一种情况是,可能有大量独立的扩展,为支持每一种组合将产生大量的子类,使得子类数目呈爆炸性增长。另一种情况可能是因为类定义被隐藏,或类定义不能用于生成子类。
装饰器推荐文章:http://blog.jobbole.com/78077/
AOP-动态代理Proxy
1、ViewData
控制器传给视图
1、ViewData
控制器传给视图
1、ViewData
控制器传给视图
1、ViewData
控制器传给视图
1、ViewData
控制器传给视图
1、ViewData
控制器传给视图
1、ViewData
控制器传给视图
1、ViewData
标签:是什么 组合 系统 统一 unity oop 隐藏 ble unit
原文地址:http://www.cnblogs.com/wudequn/p/7690077.html