模板模式

1.模板模式的作用

定义一个操作中的算法骨架,而将算法的一些实现步骤延迟到子类中,使得子类可以不改变该算法结构的情况下重定义该算法的某些特定步骤。它是一种类行为型模式。

2. 模板模式的实现

模板模式就是封装了一部分不可变的方法,扩展了一些可变的方法。就是通过抽象类来其实的,子类继承抽象类,对抽象方法进行扩展。

2.1 实现

	//抽象类
	public abstract class TemplateClass{
     
		public void method1() {
     
			System.out.println("这是一个具体的方法");
		}
		//抽象方法
		protected abstract void method2();
		//抽象方法
		protected abstract void method3();
	}
	
	//子类
	public class MyTemplate extends TemplateClass{
     
		@Override
		protected void method2() {
     
			System.out.println("这是对抽象方法2的实现");
		}
		@Override
		protected void method3() {
     
			System.out.println("这是对抽象方法3的实现");
		}
	}

2.2 模板模式的优点

  • 它封装了不变部分,扩展可变部分。它把认为是不变部分的算法封装到父类中实现,而把可变部分算法由子类继承实现,便于子类继续扩展。
  • 它在父类中提取了公共的部分代码,便于代码复用。
  • 部分方法是由子类实现的,因此子类可以通过扩展方式增加相应的功能,符合开闭原则。

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