首页 理论教育 JavaEE编程技术第2版:认识模板方法

JavaEE编程技术第2版:认识模板方法

时间:2023-10-28 理论教育 版权反馈
【摘要】:模板方法模式是最为常见的几个模式之一。现在流行的很多框架中,都可以看到模板方法模式的广泛应用。模板方法模式主要应用于框架设计中,在日常的应用设计中也被经常使用。这就是模板方法中的固定模板,也叫具体方法。用人部门对不同的职位、不同求职者会做出不同的结论。这些变化的步骤与过程就是抽象方法。不过,无论在哪个子类执行哪一种实现方法,处理的大致流程还是要依照父类制定的方式。

JavaEE编程技术第2版:认识模板方法

模板方法(Template Method)模式是最为常见的几个模式之一。现在流行的很多框架(如Spring、Struts等)中,都可以看到模板方法模式的广泛应用。模板方法模式主要应用于框架设计中,在日常的应用设计中也被经常使用。

我们通常会遇到这样的一个问题:知道了一个算法所需的关键步骤,并确定了这些步骤的执行顺序。但是某些步骤的具体实现是未知的,或者说某些步骤的实现与具体的环境相关。模板方法模式把不知道具体实现的步骤封装成抽象方法,提供一个按正确顺序调用它们的具体方法,这个具体方法就称为模板,由这个具体方法和抽象方法共同构成一个抽象基类。子类通过继承这个抽象基类去实现各个步骤的抽象方法,而工作流程却由父类控制。

那么如何理解上面的描述呢?我们来看一个日常生活中的例子。某单位人事部门做出招聘人员的流程规定:求职人员必须先投递简历;求职人员要经过笔试测试相关技能;求职人员需与部门领导面谈;用人部门做出评价。任何一个进入该单位的人员都必须经过这四个阶段,这是一个固定、不变的规定,谁都无法跨越。这就是模板方法中的固定模板,也叫具体方法。但求职人员投递简历的方式却可以是多种多样的,可以亲自到单位提交简历,可以邮递简历,也可以在网上投递简历。笔试的过程也是多种多样的,其考核的内容、时间、难易程度等,对不同部门的求职者来说可能都是不一样的。面谈过程也是多种多样的,面谈的方式、时间和长短等,不同求职者会有不一样的经历。用人部门对不同的职位、不同求职者会做出不同的结论。这些变化的步骤与过程就是抽象方法。每个求职者的具体行为,就相当于在子类实现这些抽象方法的过程。(www.xing528.com)

模板方法的设计思想是:将作为模板的方法定义在父类(父类为抽象类),对模板方法的定义使用抽象方法的先后过程,实现抽象方法的是子类,要在子类实现方法,才能决定具体的操作。如果在不同的子类执行不同的实现方法,就可以发展出不同的处理内容。不过,无论在哪个子类执行哪一种实现方法,处理的大致流程还是要依照父类制定的方式。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈