【模板设计模式】- 模板设计模式

说明:
模板设计模式就是,父类写好模板,具体算法实现部分交给子类来实现,根据不同的需求,采用不同的实现。

举例:
这里我们以榨水果汁为例,将它分为三部,打开榨汁机、榨汁、关闭榨汁机。其中榨汁这一部分对于不同的水果有所不同,所以我们可以采用模板设计模式将开关机器写成固定的模板。
父类:

package lqs;

abstract public class Squeeze {
    
    
	public void squeeze() {
    
    
		openMachine();
		squeezeFruit();
		closeMachine();
	}
	
	private void closeMachine() {
    
    
		System.out.println("关闭榨汁机");
	}

	private void openMachine() {
    
    
		System.out.println("打开榨汁机");
	}

	abstract public void squeezeFruit();
}

子类:

package lqs;

public class SqueezeApple extends Squeeze{
    
    

	@Override
	public void squeezeFruit() {
    
    
		System.out.println("将苹果洗净,并榨汁");
		
	}

}

package lqs;

public class SqueezeOrange extends Squeeze{
    
    

	@Override
	public void squeezeFruit() {
    
    
		System.out.println("将橘子洗净,并榨汁");
		
	}

}

运行:

package lqs;

public class Test {
    
    

	public static void main(String[] args) {
    
    
		SqueezeApple apple=new SqueezeApple();
		apple.squeeze();
		System.out.println("--------------------");
		SqueezeOrange orange=new SqueezeOrange();
		orange.squeeze();
	}

}

这么做的好处,即子类代码量减少,且不会出现重复代码。不好之处在于若需求更改,父类模板也需要做改变。

猜你喜欢

转载自blog.csdn.net/tran_sient/article/details/113956439