首页 / 操作系统 / Linux / Java 设计模式之模板方法开发中应用
模板方法差不多是Java设计模式中除单例之外的另一种非常简单也是我们在写程序时非常常用的一种方法了。以至于当你看到模板方法的设计模式时你会感觉到,这不是我在程序中经常用到的方法么。定义:定义一个操作中算法的框架,而将一些步骤延迟到子类中,使得子类不可以改变一个算法的结构即可重定义该算法的某些特定步骤。--------------------------------------分割线 --------------------------------------编写高质量代码 改善Java程序的151个建议 PDF高清完整版 http://www.linuxidc.com/Linux/2014-06/103388.htmJava 8简明教程 http://www.linuxidc.com/Linux/2014-03/98754.htmJava对象初始化顺序的简单验证 http://www.linuxidc.com/Linux/2014-02/96220.htmJava对象值传递和对象传递的总结 http://www.linuxidc.com/Linux/2012-12/76692.htmJava对象序列化ObjectOutputStream和ObjectInputStream示例 http://www.linuxidc.com/Linux/2012-08/68360.htm--------------------------------------分割线 --------------------------------------下面是我总结的模板方法中具体的代码实现通用框架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{ @Override
protected void method1() {
// TODO Auto-generated method stub
} @Override
protected void method2() {
// TODO Auto-generated method stub
}} package template;public class ConcretClass1 extends AbstractClass{ @Override
protected void method1() {
// TODO Auto-generated method stub
} @Override
protected 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:封装不可变部分,扩展可变部分本文永久更新链接地址:http://www.linuxidc.com/Linux/2014-07/104318.htm