设计模式学习笔记

  责任链模式:

  当你想要让一个以上的对象有机会能够处理某个请求的时候,就使用责任链模式(Chain of Responsibility Pattern)。

  上面是《Head First 设计模式》 里面对责任链的定义。

  个人理解,责任链中的处理彼此间应该都是独立的,不应该存在业务上相互依赖关系,也就说随意改变的链中各个处理的先后位置,

  最终经过责任链处理后的结果应该都是一致的(这里主要区别于状态模式)。

  我们可以使用责任链模式对请求的参数,进行一系列的处理加工,或者过滤等等(比如过滤器链)。

  优点:

  将用户的请求和处理解耦。

  符合开闭原则,易于扩展,当我们想要加一个新的处理时,只需要在链中添加一个新的节点就行。

  工厂方法模式:

  定义一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法把类的实例化推迟到子类。

 

参考资料:《Head First 设计模式》

posted @ 2018-02-09 16:05  boogieman  阅读(155)  评论(0编辑  收藏  举报