在Java中,有兩種工廠模式,分別是靜態工廠和動態工廠。本文將詳細介紹這兩種工廠模式,幫助我們了解其中的區別。
1.靜態工廠:靜態工廠是一個創建對象的方法集合,這些方法通常都是靜態方法。靜態工廠將對象的創建封裝在一個類中,使代碼更加簡潔和易于維護。靜態工廠可以隱藏對象創建過程,提供更好的靈活度,可以返回一個子類的實例,也可以返回單例實例。下面是靜態工廠的代碼示例:
public class StaticFactory { public static Object create(){ //創建對象邏輯 } }
2.動態工廠:動態工廠是通過反射機制創建對象的工廠。動態工廠具有更大的靈活性,可以實現在運行時選擇創建哪一個對象,而無需修改代碼。動態工廠的代碼示例如下:
public class DynamicFactory { public Object create(Class clazz){ Object obj=null; try{ obj=Class.forName(clazz.getName()).newInstance(); }catch(Exception e){ e.printStackTrace(); } return obj; } }
總的來說,靜態工廠和動態工廠各有優劣,在不同的場景中使用不同的工廠模式可以更好地完成任務。靜態工廠適用于創建對象比較固定的場合,而動態工廠更適用于創建對象不確定的場合。