1. 程式人生 > >java反射機制及簡單工廠模式

java反射機制及簡單工廠模式

This is Product A!
This is Product B!
以下方式,是未使用反射機制的簡單工廠類,根據判斷邏輯來建立具體產品
public class Factory{

	public static Product getProduct(int product_index){
	
		if(product_index==0)
			return new ProductA();
		
		if(1==product_index)
			return new ProductB();
		
		return null;
	}
}

簡單工廠模式的優缺點:

優點:模式的核心是工廠類。這個類含有必要的判斷邏輯,可以決定建立哪一個產品類的例項。而客戶端免去了直接建立產品物件的責任,而僅僅負責“消費”產品。簡單工廠模式通過這種做法實現了對責任的分割。

缺點:當產品類有複雜的多層次等級結構時,工廠類只有他自己。由於工廠類集中了所有產品建立邏輯的,如果不能正常工作的話會對系統造成很大的影響。如果使用常規的判斷方法,在工廠里根據傳入的引數的不同而例項化產品物件的話,程式碼是不可用的,因為如果增加新產品必須修改工廠角色的原始碼,不利於以後的維護。