工廠模式主要是為建立物件提供過渡介面,以便將建立物件的具體過程遮蔽隔離起來,達到提高靈活性的目的。 簡單工廠模式可以看為工廠方法模式的特例。
簡單工廠模式的實質是由乙個工廠類根據傳入的引數,動態決定應該建立哪乙個產品類(這些產品類繼承自乙個父類或介面)的例項。
1.工廠(creator)角色
簡單工廠模式的核心,它負責實現建立所有例項的內部邏輯。工廠類的建立產品類的方法可以被外界直接呼叫,建立所需的產品物件。
2.抽象產品(product)角色
簡單工廠模式所建立的所有物件的父類,它負責描述所有例項所共有的公共介面。
3.具體產品(concrete product)角色
是簡單工廠模式的建立目標,所有建立的物件都是充當這個角色的某個具體類的例項。
1.工廠類負責建立的物件比較少;
2.客戶只知道傳入工廠類的引數,對於如何建立物件(邏輯)不關心;
3.由於簡單工廠很容易違反高內聚責任分配原則,因此一般只在很簡單的情況下應用。
產品類:
public abstract classcar
public classredcarextendscar}
public classyellowcarextendscar}
工廠類:
public classca***ctoryreturn null;
}}
測試類:
public classtestmain}
java設計模式(簡例) 工廠模式
工廠模式 根據工廠模式實現的類可以根據提供的資料生成一組類中某乙個類的例項,而這一組類有乙個公共的抽象父類 實現乙個inte cefactory介面 package factory public inte ce inte cefactory package factory public class ...
java設計模式之原型設計模式
原型設計模式 顧名思義,該模式的思想就是將乙個物件作為原型,對其進行複製 轉殖,產生乙個和原物件類似的新物件 設計思路 第一步 建立乙個類prototypemode,實現cloneable介面 第二步 在prototypemode中定義shallowclone方法 淺複製物件實現 和deepclon...
java設計模式之裝飾設計模式
裝飾設計模式 裝飾設計模式就是給乙個物件增加一些新的功能,而且是動態的。要求裝飾物件和被裝飾物件實現同乙個介面,裝飾物件持有被裝飾物件的例項 設計思路 第一步 定義介面action,在介面中提供乙個方法work 第二步 定義被裝飾類child,實現介面action 第三步 定義裝飾類adult,實現...