装修小编 发表于 2019-1-14 21:08:37

玩转Java模板模式!如果只掌握一种设计模式,那就是模板模式


  大家知道设计模式其实在我们的编程中无处不在,良好运用设计模式可以使我们的程序更加容易理解、更具扩展性。
  这次我为大家带来的是模板模式。模板模式很简单,但是很实用,我们从下面几个方面介绍:
  简单介绍、应用场景、角色组成、实现方式
一.简单介绍
  定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。 Template Method使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
二.应用场景
  1.程序主框架相同,细节不同的情况下,可以使用模板方法。
  2.一次性实现一个算法的不变的部分,并将可变的行为留给子类来实现。
  3.在多个子类中拥有相同的方法,而且逻辑相同时,可以将这些方法抽出来放到一个模板抽象类中。
三.角色组成
  1.抽象模板(Abstract Template)角色:

[*]定义了一个或多个抽象操作,以便让子类实现。这些抽象操作叫做基本操作,它们是一个顶级逻辑的组成步骤。
[*]定义并实现了一个模板方法。这个模板方法一般是一个具体方法,它给出了一个顶级逻辑的骨架,而逻辑的组成步骤在相应的抽象操作中,推迟到子类实现。顶级逻辑也有可能调用一些具体方法。
  2.具体模板(Concrete Template)角色:

[*]实现父类所定义的一个或多个抽象方法,它们是一个顶级逻辑的组成步骤。
[*]每一个抽象模板角色都可以有任意多个具体模板角色与之对应,而每一个具体模板角色都可以给出这些抽象方法(也就是顶级逻辑的组成步骤)的不同实现,从而使得顶级逻辑的实现各不相同。
四.实现方式
  1.抽象模板角色:悍马


  2.具体模板角色:悍马H1


  3.具体模板角色:悍马H2


  4.测试
HummerModel hm = new HummerH1Model();hm.run();hm = new HummerH2Mode();hm.run();悍马H1发动……悍马H1引擎……悍马H1鸣笛……悍马H1停车……悍马H2发动……悍马H2引擎……悍马H2停车……  1.欢迎点赞和评论。
  2.后续我会为大家提供更多Java设计模式的内容

页: [1]
查看完整版本: 玩转Java模板模式!如果只掌握一种设计模式,那就是模板模式