当前位置:   article > 正文

设计模式六(模板方法模式)

设计模式六(模板方法模式)

        是一种行为型的设计模式将一些步骤的实现延迟到子类有些步骤是固定的可以抽取父类,在父类中实现各个步骤,并且在父类中定义一个流程控制方法,将某个容易发生变化的步骤定义为抽象方法,针对不同的子类实现不同的方法,最终子类调用父类的流程控制方法即可

  1. public abstract class AbstractBank {
  2. //办理业务方法 -- 模板方法
  3. public void handle(){
  4. this.offerNumber();
  5. this.lineup();
  6. this.business();
  7. this.score();
  8. }
  9. //抽号
  10. public void offerNumber(){
  11. System.out.println("抽号");
  12. }
  13. //排队
  14. public void lineup(){
  15. System.out.println("排队");
  16. }
  17. //评分
  18. public void score(){
  19. System.out.println("评分");
  20. }
  21. //办理具体业务--抽象方法,由具体子类实现
  22. public abstract void business();
  23. }
  1. public class StoreBusiness extends AbstractBank{
  2. //办理的具体业务
  3. public void business() {
  4. System.out.println("我要存钱");
  5. }
  6. }
  1. public class TransferBusiness extends AbstractBank{
  2. //转账
  3. public void business() {
  4. System.out.println("我要转账");
  5. }
  6. }
  1. public class Test {
  2. public static void main(String[] args) {
  3. StoreBusiness storeBusiness = new StoreBusiness();
  4. storeBusiness.handle();
  5. System.out.println("===================================");
  6. TransferBusiness transferBusiness = new TransferBusiness();
  7. transferBusiness.handle();
  8. }
  9. }

 总结:模板⽅法模式将算法的不变部分被封装在模板⽅法中,⽽可变部分算法由⼦类继承实现,这样做可以很好的提⾼代 码的复⽤性,但是当算法的框架发⽣变化时,可能需要修改模板类,这也会影响到所有的⼦类

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/45254
推荐阅读
相关标签
  

闽ICP备14008679号