设计模式之模版方法

来源:互联网 发布:js 读取cookie 编辑:程序博客网 时间:2024/05/16 09:31

  • 类图
  • 特点
  • 代码

在编程过程中,会有这样的情况:一个模块下的几个功能,可以分几个相同的工序,则利用模版方法,可以将这些工序提炼出来,而每个工序的具体实现,推迟到子类中实现。

类图

模版方法类图
1. 在AbstractClass类中,存在一个模版方法,是一个普通方法,实现了一类算法的骨架,定义了工序的执行顺序
2. ConcreateClass类实现了父类中抽象出的一系列工序操作

特点

  1. 个人理解,模版方法主要针对于同一类算法中,不同工序的实现
  2. 将算法中不变的逻辑提取,封装到模版方法中,而改变的逻辑,定义出抽象工序,具体实现在下沉到子类

代码

/************模版方法**************/public abstract AbstractClass{    public void templetMethod()    {        operation2();        operation1();    }    public abstract operation1();    public abstract operation2();}/***********工序实现***************/public ConcreateClass extrends AbstractClass{    public void operation1()    {        System.out.println("我是1");    }    public void operation2()    {        System.out.println("我是2");    }}
原创粉丝点击