第十六篇 設計模式--模版方法模式

定義:定義一個操作的算法骨架,而將一些步驟延遲到子類中,模版方法使得子類可以不改變一個算法的結構即可重定義該算法的某些特定步驟。

代碼:

package template_model;

/**
 * @author naivor
 *		模版方法模式-場景類
 */
public class TemplateModel {
	public static void main(String[] args) {
		Abstraction abstraction;
		
		abstraction=new ConcreteA();
		abstraction.templateMethord();
		
		abstraction =new ConcreteB();
		abstraction.templateMethord();
	}
}
/**
 * 
 * @author naivor
 *		模版方法模式-抽象模版類
 */
abstract class Abstraction{
	public abstract void operate1();
	public abstract void operate2();
	public abstract void operate3();
	
	public void templateMethord(){
		operate1();
		operate2();
		operate3();
		
		//其他不變業務邏輯
	}
	
}
/**
 * 
 * @author naivor
 *		模版方法模式-抽象模版子類A
 */
class ConcreteA extends Abstraction{
	@Override
	public void operate1() {
		//ConcreteA的操作1業務邏輯
	}
	
	@Override
	public void operate2() {
		//ConcreteA的操作2業務邏輯
	}

	@Override
	public void operate3() {
		//ConcreteA的操作3業務邏輯
	}
}
/**
 * 
 * @author naivor
 *		模版方法模式-抽象模版子類B
 */
class ConcreteB extends Abstraction{
	@Override
	public void operate1() {
		//ConcreteB的操作1業務邏輯
	}

	@Override
	public void operate2() {
		//ConcreteB的操作2業務邏輯
	}

	@Override
	public void operate3() {
		//ConcreteB的操作3業務邏輯
	}
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章