vue项目接口域名动态的获取方法
209
2023-07-18
举例讲解Java设计模式编程中模板方法模式的运用实例
模板方法模式定义为:
在一个方法中定义了一个算法的骨架或者步骤,而将一些步骤延迟到子类中去实现。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某一些步骤。
模板方法在基类中定义了一个操作的流程顺序,能够保证该步骤按序进行,有一些步骤的具体实现在基类中已经声明,而将一些变化的步骤的具体实现交给了子类去实现,从而就达到了延迟一些步骤到子类中,模板方法一个最大的好处就是能够设定一个业务流程能够按照一定严格的顺序执行,控制了整个算法的执行步骤。
这个方法将算法定义成一组步骤,其中凡是想让子类进行自定义实现的步骤,均定义为抽象方法。抽象基类的特点是,一般将模板方法设置为final,这样防止子类覆盖该算法的步骤,将一些相同的操作或步骤直接在基类中实现,将一些变化的步骤设置为抽象由子类去完成。
java实现示例
类图:
/**
* 业务流程模板,提供基本框架
*/
public abstract class BaseTemplate {
public abstract void part1();
public abstract void part2();
public abstract void part3();
//这里为了严格实验结果,使用final不可被重写
public final void useTemplateMethod() {
part1();
part2();
part3();
}
}
/**
* 模板http://实现方式1
*/
public class TemplateMethod extends BaseTemplate {
@Override
public void part1() {
System.out.println(MTYEiC"模板方法1");
}
@Override
public void part2() {
System.out.println("模板方法2");
}
@Override
public void part3() {
System.out.println("模板方法3");
}
}
/**
* 模板实现方式2
* @author stone
*
*/
public class TemplateMethod2 extends BaseTemplate {
@Override
public void part1() {
System.out.println("模板方法11");
}
@Override
public void part2() {
System.out.println("模板方法22");
}
@Override
public void part3() {
System.out.println("模板方法33");
}
}
phttp://ublic class Test {
public static void main(String[] args) {
BaseTemplate tm = new TemplateMethod();
tm.useTemplateMethod();
System.out.println("");
BaseTemplate tm2 = new TemplateMethod2();
tm2.useTemplateMethod();
}
}
打印:
模板方法1
模板方法2
模板方法3
模板方法11
模板方法22
模板方法33
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~