第三方:工廠類,將客戶端的產生物件與具體子類分離,提取 (解耦) 到專門的工廠類中產生物件。
1. 簡單工廠模式
專門定義乙個類用來建立其它類的例項,被建立的例項通常都具有共同的父類。即將客戶端產生商品的行為 (也就是所謂的new物件
) 提取到乙個新的類中,把這個類叫做工廠類。
inte***ce
computer
class
macbookpro
implements
computer
}class
su***ce
implements
computer
}class
alienware
implements
computer
}//工廠類,專門用於生產電腦
這裡我們相當於是建立生產電腦的工廠,客戶需要購買什麼樣的電腦,只要輸入型別編號就可以獲取該電腦。將類的例項化交給工廠易於解耦。
2. 工廠方法模式
當多個產品呈現出家族式特徵時(如微軟系、蘋果系),為了保證不同產品系之間的私隱性,不同產品系有自己的工廠。
inte***ce
computer
class
macbookpro
implements
computer
}class
su***ce
implements
computer
}inte***ce
compute***ctory
class
implements
compute***ctory
}class
msfactory
implements
compute***ctory
}public
class
client1
}
工廠方法模式是針對每個產品提供乙個工廠類,在客戶端中判斷使用哪個工廠類去建立物件。 設計模式 工廠設計模式
用於建立物件的介面,交給子類去實現 我們舉乙個生產nokia的例子 public abstract class nokiaphone先試定義了乙個抽象類,抽象出方法poweronphone 模擬手機開機的動作 public class nokia5200 extends nokiaphone pub...
設計模式 工廠設計模式
工廠模式分為工廠方法模式和抽象工廠模式 工廠方法模式分為 普通工廠模式,就是建立乙個工廠類,對實現了同一介面的一些類進行例項的建立。多個工廠方法模式,是對普通工廠方法模式的改進,在普通工廠方法模式中,如果傳遞的字串出錯,則不能正確建立物件,而多個工廠方法模式是提供多個工廠方法,分別建立物件。靜態工廠...
設計模式 工廠模式(簡單工廠)
一 簡單工廠 定義 簡單工廠模式 factory pattern 屬於類的創新型模式,又叫靜態工廠方法模式 static factorymethod pattern 是通過專門定義乙個類來負責建立其他類的例項,被建立的例項通常都具有共同的父類。特點 工廠類直接實現,乙個產品介面,乙個工廠類可以產生多...