21中设计模式

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

   

原文地址:https://www.cnblogs.com/gstsyyb/p/3893602.html