簡單工廠模式
在建立乙個物件時不向客戶暴露內部細節,並提供乙個建立物件的通用介面。
簡單工廠把例項化的操作單獨放到乙個類中,這個類就成為簡單工廠類,讓簡單工廠類來決定應該用哪個具體子類來例項化。
這樣做能把客戶類和具體子類的實現解耦,客戶類不再需要知道有哪些子類以及應當例項化哪個子類。客戶類往往有多個,如果不使用簡單工廠,那麼所有的客戶類都要知道所有子類的細節。而且一旦子類發生改變,例如增加子類,那麼所有的客戶類都要進行修改。
簡記: 乙個工廠介面,乙個工廠類,多個具體商品類
public
inte***ce
computer
public
class
implements
computer
}
public
class
macbook
implements
computer
}
public
class
compute***ctory
else
if(name.
equals
("macbook"))
return instance;
}}
缺點:多個不同的商品,在同乙個工廠中,相互之間存在細節暴露的問題。
工廠方法設計模式
改進簡單工廠的缺點,提供多個工廠類,遮蔽不同商品間的細節。
public
abstract
class
compute***ctory
public
class
extends
compute***ctory
}
public
class
maxfactory
extends
compute***ctory
}
抽象工廠設計模式
提供乙個介面,用於建立 相關的物件家族 。本質上和工廠方法設計模式一樣,可以理解為此時同一牌子的電腦有很多態號。然後每次建立物件的時候,都可以建立同一牌子的不同型號的多個電腦。
設計模式 工廠設計模式
用於建立物件的介面,交給子類去實現 我們舉乙個生產nokia的例子 public abstract class nokiaphone先試定義了乙個抽象類,抽象出方法poweronphone 模擬手機開機的動作 public class nokia5200 extends nokiaphone pub...
設計模式 工廠設計模式
工廠模式分為工廠方法模式和抽象工廠模式 工廠方法模式分為 普通工廠模式,就是建立乙個工廠類,對實現了同一介面的一些類進行例項的建立。多個工廠方法模式,是對普通工廠方法模式的改進,在普通工廠方法模式中,如果傳遞的字串出錯,則不能正確建立物件,而多個工廠方法模式是提供多個工廠方法,分別建立物件。靜態工廠...
設計模式 工廠模式(簡單工廠)
一 簡單工廠 定義 簡單工廠模式 factory pattern 屬於類的創新型模式,又叫靜態工廠方法模式 static factorymethod pattern 是通過專門定義乙個類來負責建立其他類的例項,被建立的例項通常都具有共同的父類。特點 工廠類直接實現,乙個產品介面,乙個工廠類可以產生多...