Java设计模式之模板模式

模板模式

一、模板模式简介 

在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。抽象类中定义算法的骨架,骨架中的具体算法由子类实现。

三、实现实例

以开发为例,程序员需要编码、测试、调试等过程。不管是java开发程序员还是c++程序员都需要经过这几个步骤,模板模式就可以在模板类类中实现开发过程的骨架,具体的编码、测试、调试等步骤由子类实现。

定义模板类

public abstract class Programmer {
    protected abstract void write();
    protected abstract void test();
    protected abstract void debug();

    /**
     * 开发
     */
    public void devlop() {
        write();
        test();
        debug();
    }
}

 Java程序员

public class JavaProgrammer extends Programmer {
    @Override
    public void write() {
        System.out.println("编写Java程序");
    }

    @Override
    public void test() {
        System.out.println("测试网站功能模块");
    }

    @Override
    public void debug() {
        System.out.println("调试Java");
    }
}

C++程序员

public class CProgrammer extends Programmer {
    @Override
    public void write() {
        System.out.println("编写C++程序");
    }

    @Override
    public void test() {
        System.out.println("测试单片机功能模块");
    }

    @Override
    public void debug() {
        System.out.println("模拟调试单片机");
    }
}

客户端使用

public class Client {
    public static void main(String[] args) {
        Programmer programmer1 = new JavaProgrammer();
        programmer1.devlop();

        Programmer programmer2 = new CProgrammer();
        programmer2.devlop();
    }
}

打印结果

 

编写Java程序
测试网站功能模块
调试Java
编写C++程序
测试单片机功能模块
模拟调试单片机

 

 

 

 

你可能感兴趣的:(Java设计模式之模板模式)