Java 设计模式之模板方法开发中应用
模板方法差不多是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{ @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:封装不可变部分,扩展可变部分
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。