设计模式之__模板模式

模板模式是一种很好的复用代码与保留代码的灵活性的方式
这是一个让人印象深刻的模式,很适合固定流程的业务,例如工作流

模板模式:
模板模式没有细分,

其实模板模式是从自然界,现实生活中抽象而来,我们可以依照现实中的例子,来构建脑海中的 抽象概念:
模板模式: 类比于 例如: 古时的活字印刷术, 现在的简历等

模板模式

模板模式 致力于将代码中 重复与通用的业务逻辑抽象出来,形成一个更加抽象的类or类型

模板模式在 java中 就是定义好 固定业务流程 也就是 if -else 的抽象类
ps: 此处是固定业务流程而非 已经固定好每一步业务顺序

从java的角度上来说 就是定义一套业务模板,然后留下几个钩子方法然后让子类实现的时候可以重写,且作为承载模板的类一般都是抽象类

这种模式常常用于业务流程固定,但是每次都会有5处以下的小不同点的时候可以直接使用模板模式,如果再复杂那就需要拆分了

public abstract  class A<T>{
	public T  business(){
	 boolean flag =	business1();
	 T t=null;
	 if(flag){
		t =	business2();
		}else{
		t = business3();
		}
	}
	public abstract boolean  business1();
	public abstract T business2();
	public abstract T business3();
}
// 调用
public class B extends A<C>{
// 给一个调用入口
	public C business(){
		super.business();
	}
	public abstract boolean  business1(){
		System.out.print("我是 bug")
	};
	public abstract C business2(){};
	public abstract C business3(){};
}

以上代码中 三个 abstract 函数就是钩子方法了 , 有钩子方法1 返回的值可以干涉到后面的逻辑,
但是无论如何在 abstract A 类中的 business 主流程是不会变动的

发布了41 篇原创文章 · 获赞 225 · 访问量 8762

猜你喜欢

转载自blog.csdn.net/weixin_43843042/article/details/103686480