1.Visitor访问者模式
Element:accept(Visitor v)//元素
Visitor:visit(Element e);//对元素进行访问
独立出对元素的访问代码业务
目的:给元素添加新的功能
2.Bridge桥接模式
多维度抽象
abstractor Message 消息体抽象
interface IServiceMessage sendMsg(Message msg)//此处进行桥接
分离抽象和实现
3.chain 职责链模式
类似冒泡的一种处理逻辑过程(协同处理) ---流程处理
要点:维护职责连之间的组合关系
abstractor Handler
handler next;
abstractor doService();
类似:Filter模式
4.Decorator装饰模式
对组件进行封装,对原有的功能进行加强
abstracor Component
abstractor Decorator extends Component
组合模式的一种调用的过程,类似于事件:事件下沉(产生事件),事件上浮(捕获事件)
Channel通道包装 ----ESB
Stream包装---------IO里面
动态组合组件
抽象层次看,包装器与组件对象都是一样的组织结构,本质其实不一样,包装器其实也是一种组件
5.Proxy代理模式
1.静态代理:
2.动态代理:基于接口的或者基于继承的,是代码扩展的一种技术 (使用程序组装程序,动态编译)
本质:执行前后加业务操作
场景:安全,缓存,事务操作等
AOP的本质就是代理的实现
6.builder模式:
建造模式就是组装产品(按照一定的步骤进行建造)
7.工厂模式:
构建的仅仅是产品的一个组成部分或者多个组成部分,不是一个完整的产品,这是与建造模式的本质区别。
====================================================================================================
本质:都是对象的组合---成员变量,函数参数(回调机制)----类似于callBack