介绍组合模式(Composite)将对象组合成树形结构以表示“部分-整体”的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。常见的场景有 asp.net 里的控件机制(即 control 里可以包含子 control,可以递归操作、添加、删除子 control),类似的还有 DOM 的机制,一个 DOM 节点可以包含子节点,不管是父节点还是子节点都有添加、删除、遍历子节点的通用功能。
介绍职责链模式(Chain of responsibility)是使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理他为止。也就是说,请求以后,从第一个对象开始,链中收到请求的对象要么亲自处理它,要么转发给链中的下一个候选者。