Java 设计模式之模板方法开发中应用

来源:互联网 发布:js 中 json点不出来 编辑:程序博客网 时间:2024/05/01 04:32

模板方法差不多是Java设计模式中除单例之外的另一种非常简单也是我们在写程序时非常常用的一种方法了。以至于当你看到模板方法的设计模式时你会感觉到,这不是我在程序中经常用到的方法么。

定义:定义一个操作中算法的框架,而将一些步骤延迟到子类中,使得子类不可以改变一个算法的结构即可重定义该算法的某些特定步骤。

下面是我总结的模板方法中具体的代码实现通用框架

1:抽象的模板类:

package template;public abstract class AbstractClass {protected abstract void method1();protected abstract void method2();public void templateedMethod(){this.method1();this.method2();}}

2:具体的模板类:

package template;public class ConcretClass extends AbstractClass{@Overrideprotected void method1() {// TODO Auto-generated method stub}@Overrideprotected void method2() {// TODO Auto-generated method stub}}

package template;public class ConcretClass1 extends AbstractClass{@Overrideprotected void method1() {// TODO Auto-generated method stub}@Overrideprotected void method2() {// TODO Auto-generated method stub}}

3:场景类:

package template;public class Client {public static void main(String[] args) {AbstractClass class1 = new ConcretClass();AbstractClass class2 = new ConcretClass1();class1.templateedMethod();class2.templateedMethod();}}

模板方法具有以下优点:

1:提取公共部分代码易于维护。

2: 由父类控制,子类实现

3:封装不可变部分,扩展可变部分

0 0