工廠模式有什麼用呢?
最直觀的好處,可以忽悠人啊!你寫**的時候說你用了設計模式,是不是顯得高大上了點啊。工廠模式是把建立過程和使用過程分開,當建立乙個物件特別麻煩時,可以用工廠模式幫你建立,那麼你就不必要在意太多細節。
什麼叫做建立過程複雜呢,比如你想這麼建立 a a=new a(),可是實際上可能是這麼建立 a a=new a(引數a,引數b、引數c…),你很難記住,這時候工廠可以直接建立,是不是很貼心啊。比如說sql的連線。
dbconnection sample = dbfactory.createsqlconnection()
還有一種情況, a a=new a1(),a有超多的子類,你在很多地方都用了這個**,萬一需求變了,要變成a a=new a2(),你需要再每個位置把a1改為a2,這樣很麻煩的,工廠又能幫你很貼心的建立完成。下面給出例子。現需要設計乙個程式來讀取多種不同型別的格式,針對每一種格式都設計個讀取器( imagereader),如gif讀取器( gifreader)用於讀取gif格式的、jpg讀取器( jpgreader)用於讀取jpg格式的。先定義影象抽象類
public abstract class imagereader
gif繼承image
public class gifreader extends imagereader
}
jpg繼承img
}現在到了建立物件的時候了,我們先定義工廠介面imagefactory
public inte***ce imagereade***ctory
giffactory建立gif物件
public class gifreade***ctory implements imagereade***ctory
}
jpgfactory建立jpg物件
}測試類
設計模式 設計模式之工廠模式
工廠方法模式 建立模式 使用場景?作用?形態?場景 大量類似的實體類 要建立的實體類都是同一本質的東西 披薩 有部分類似功能 準備 烘烤 切法 實現方式不一樣 準備的材料不同 烘烤時間不同 切法不同 將繁瑣複雜的建立類的過程聚集在一起,有序清晰 把具體例項化的過程從客戶 中抽離 作用 1 將建立物件...
c 設計模式 之 工廠模式之 工廠模式
1 uml類圖 實現和依賴關係 實現 sportfactory jeepfactory hatchbackfactory 實現 ifactory 介面 sportcar jeepcar hatchbackcar 實現 icar 介面 依賴 ifactory 依賴 icar sportfactory ...
設計模式 工廠模式之簡單工廠模式
定義 由乙個工廠物件 工廠類 來指定建立某乙個產品類的例項。使用場景 客戶端只需傳入指定的引數即可,工廠類負責建立的物件較少 因為指定了傳入的引數 介面類 本想用iphone命名的,見諒 public inte ce phone實現介面類 public class huaweiphone imple...