1. 程式人生 > >Java 設計模式之模板方法開發中應用

Java 設計模式之模板方法開發中應用

模板方法差不多是Java設計模式中除單例之外的另一種非常簡單也是我們在寫程式時非常常用的一種方法了。以至於當你看到模板方法的設計模式時你會感覺到,這不是我在程式中經常用到的方法麼。

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

下面是我總結的模板方法中具體的程式碼實現通用框架

1:抽象的模板類:

package template;

public abstract class AbstractClass {
	
	protected abstract void method1();
	protected abstract void method2();
	
	public void templateedMethod(){
		
		this.method1();
		this.method2();
	}
}

2:具體的模板類:
package template;

public class ConcretClass extends AbstractClass{

	@Override
	protected void method1() {
		// TODO Auto-generated method stub
		
	}

	@Override
	protected void method2() {
		// TODO Auto-generated method stub
		
	}

}

package template;

public class ConcretClass1 extends AbstractClass{

	@Override
	protected void method1() {
		// TODO Auto-generated method stub
		
	}

	@Override
	protected void method2() {
		// TODO Auto-generated method stub
		
	}

}

3:場景類:
package template;

public class Client {
	public static void main(String[] args) {
		AbstractClass class1 = new ConcretClass();
		AbstractClass class2 = new ConcretClass1();
		class1.templateedMethod();
		class2.templateedMethod();
	}
}

模板方法具有以下優點:

1:提取公共部分程式碼易於維護。

2: 由父類控制,子類實現

3:封裝不可變部分,擴充套件可變部分