职责链模式
1
优点
降低对象之间耦合度,降低请求发送者和接收者的耦合度
增强了系统的可扩展性,可以根据需要增加新的请求处理类,满足开闭原则
增强了给对象指派职责的灵活性,当工作流程发生变化,可以动态的改变链内成员或者次序,也可以动态的新增或者删除责任
责任链简化了对象之间的连接 一个对象只需保持一个指向其后继者的引用 不需保持其他处理者的引用 避免使用众多的if
责任分担 每个类只需要处理自己该处理的工作 不能处理的传递给下一个对象完成 明确各类的责任范围 符合类的单一职责原则
缺点
不能保证每个请求一定被处理 由于一个请求没有明确的接收者 所以不能保证她一定会被处理 有可能一直传到链的末端都没被处理
对比较长的职责链 请求的处理可能涉及多个处理对象 系统性能将受到一定影响
职责链建立的合理性要靠客户端来保证1 增加了客户端的复杂性 可能会由于职责链的错误设置而导致系统出错



