当前位置:首页>>学习

模板方法

学习

admin

就是把固定流程封装为final方法  方便子类调用

优点 

        1.提高代码复用性

        将相同部分的代码放在抽象的父类中 而将不同的代码放入不同的子类中

        2.实现了反向控制

        通过一个父类调用其子类的操作 通过对子类的具体实现扩展不同的行为 实现了反向控制 符合开闭原则

缺点 

        对每个不同的实现都需要定义一个子类 导致类的个数增加 系统更加庞大 设计也更加抽象

        父类中的抽象方法由子类实现 子类的执行后果会影响父类的结果 这导致一种反向的控制结构 提高代码阅读难度


场景

        算法的整体步骤很固定 但其中个别部分易变时 这时候可以使用模板方法模式 将容易变得部分抽象出来 供子类实现

        需要通过子类来决定父类算法中某个步骤是否执行 实现子类对父类的反向执行 


返回顶部