最近在学习设计模式,学完装饰模式和责任链模式后经老师提醒发现这两个都涉及链式设计模式,于是有了这篇博客,主要是对链式设计模式的基础知识做一些总结。
一、什么是链式设计模式
链式模式有一个特点:通过某种手段将一个个类或对象串联起来,自底向上(自外向里)地去遍历,直到满足条件或到头为止,这样就形成了完整的一个链。
涉及到的模式:状态模式,组合模式,责任链模式,装饰模式。
串联类或对象的方式不尽然相同。状态模式是在代码设计时就已经写好了的链,不易于更改,但是稳定;其他三个模式都是通过将传进来的对象当成自己的父类对象进行成链的。
基于这样的出发点去考量,这就是链式设计模式。
二、链式设计模式有何作用?
首先它可以对同一模块中有先后执行顺序要求的类或对象进行成链,以达到高聚合的目的。同时对于单一执行状态下的执行步骤,可以通过非状态模式的成链方式进行组装,便可以实现改变执行顺序的目的,让代码维护性变高。