舉個生活中常見的例子——組裝電腦,我們在組裝電腦的時候,通常需要選擇一系列的配件,比如cpu、硬碟、記憶體、主機板、電源、機箱等。為討論使用簡單點,只考慮選擇cpu和主機板的問題。
事實上,在選擇cpu的時候,面臨一系列的問題,比如品牌、型號、針腳數目、主頻等問題,只有把這些問題都確定下來,才能確定具體的cpu。
同樣,在選擇主機板的時候,也有一系列問題,比如品牌、晶元組、整合晶元、匯流排頻率等問題,也只有這些都確定了,才能確定具體的主機板。
選擇不同的cpu和主機板,是每個客戶在組裝電腦的時候,向裝機公司提出的要求,也就是我們每個人自己擬定的裝機方案。
在最終確定這個裝機方案之前,還需要整體考慮各個配件之間的相容性。比如:cpu和主機板,如果使用intel的cpu和amd的主機板是根本無法組裝的。因為intel的cpu針腳數與amd主機板提供的cpu插口不相容,就是說如果使用intel的cpu根本就插不到amd的主機板中,所以裝機方案是整體性的,裡面選擇的各個配件之間是有關聯的。
對於裝機工程師而言,他只知道組裝一台電腦,需要相應的配件,但是具體使用什麼樣的配件,還得由客戶說了算。也就是說裝機工程師只是負責組裝,而客戶負責選擇裝配所需要的具體的配件。因此,當裝機工程師為不同的客戶組裝電腦時,只需要根據客戶的裝機方案,去獲取相應的配件
抽象工廠模式 抽象工廠模式
抽象工廠模式其實是圍繞了乙個超級工廠建立其他的工廠 可參考工廠模式 這個超級工廠又可以想像成是其他工廠的工廠,這種設計模式是一種建立型模式。在抽象工廠模式中,介面是負責建立乙個相關物件的工廠,不需要顯式指出其類。每個生成的工廠都能按照工廠模式提供物件。意圖提供乙個建立一系列相關或相互依賴物件的介面,...
工廠模式 抽象工廠模式
這裡使用簡單的話來講解工廠模式,不涉及程式設計 什麼是工廠模式呢?我的理解是對抽象介面例項的封裝。假如有乙個介面,有若干的實現類,代表不同的例項。傳統產生物件的方法是直接new乙個出來,對於每個例項都要new,當實現介面的類較多時會很麻煩,並且類的實現也暴露出來了。工廠模式是一種產生物件的模式,使用...
工廠模式 抽象工廠模式
子類父類代換 場景 在不同的條件下,需要建立不同的實現子類時。如網路通訊可以使用tcp udp。可以實現同乙個介面,通過工廠類根據條件 tcp或udp 來例項化不同的子類。這些子類符合黎克特制代換原則。public inte ce tlprotocol public class tcpimpleme...