工廠模式 抽象工廠模式

2021-08-20 09:59:32 字數 794 閱讀 9596

子類父類代換

場景:在不同的條件下,需要建立不同的實現子類時。

如網路通訊可以使用tcp、udp。可以實現同乙個介面,通過工廠類根據條件(tcp或udp)來例項化不同的子類。

這些子類符合黎克特制代換原則。

public

inte***ce

tlprotocol

public

class

tcpimplements

tlprotocol

}public

class

udpimplements

tlprotocol

}/**

* 根據條件type生產tlprotocol的特定子類

**/public

class

tlprotocolfactory

if(type.equalsignorecase("tcp")) else

if(type.equalsignorecase("udp"))

return

null;

}}//tlprotocolfactory tlprotocolfactory = new tlprotocolfactory();

//tlprotocol protocal = tlprotocolfactory .gettlprotocol("tcp");

建立其他工廠的工廠

場景:同一系列的產品,一套的東西,需要對應的一套工廠來建立不同的實現子類。這時需要乙個抽象工廠來根據條件建立需要的工廠。

例項:

抽象工廠模式 抽象工廠模式

抽象工廠模式其實是圍繞了乙個超級工廠建立其他的工廠 可參考工廠模式 這個超級工廠又可以想像成是其他工廠的工廠,這種設計模式是一種建立型模式。在抽象工廠模式中,介面是負責建立乙個相關物件的工廠,不需要顯式指出其類。每個生成的工廠都能按照工廠模式提供物件。意圖提供乙個建立一系列相關或相互依賴物件的介面,...

工廠模式 抽象工廠模式

這裡使用簡單的話來講解工廠模式,不涉及程式設計 什麼是工廠模式呢?我的理解是對抽象介面例項的封裝。假如有乙個介面,有若干的實現類,代表不同的例項。傳統產生物件的方法是直接new乙個出來,對於每個例項都要new,當實現介面的類較多時會很麻煩,並且類的實現也暴露出來了。工廠模式是一種產生物件的模式,使用...

工廠模式 抽象工廠模式

簡化乙個事物有很多種方法,也就是換乙個容易記住的稱呼,最簡單的當然就是數字作為代號,但需要使用某個具體類的功能時就指出它的代號,讓它生產物件並呼叫它的成員方法,這樣使用者就不必關心物件的生成細節。生成的物件一般以指標的形式返回 方便對物件內部成員方法的呼叫 這就和工廠生產產品很像,機器都有編號,乙個...