常見設計模式回顧 工廠模式

2021-09-28 12:26:32 字數 1613 閱讀 6945

工廠模式是最常見的建立型模式,也是大多數人學習設計模式的起點。工廠模式屬於建立型模式,隱藏了物件建立的細節;這裡我們來看一下幾種常用的工廠模式

1.簡單工廠

public

inte***ce

icar

public

class

******factory

}}

簡單工廠類******factory 又被稱為『上帝類』,想要創造什麼就創造什麼,根據外部傳入的引數決定生產的物件。但是雖然使用簡單,但是每當有新產品需要加入生產時,必須要修改工廠類**,違反了開閉原則(對擴充套件支援但是對修改關閉);因此只能在一些簡單的場景下使用;

2.工廠方法模式

public

inte***ce

ifactory

public

class

aca***ctory

implements

ifactory

}

public

class

bca***ctory

implements

ifactory

}

工廠方法模式通過乙個通用工廠介面,每個產品的工廠實現通用介面並生產各自的產品,由工廠類來控制需要具體生產哪種產品,符合開閉原則。每當需要增加乙個產品時需要新增乙個工廠類以及產品類,可擴充套件性強。但是同時缺點也比較明顯,類的數量容易產生**。

3.抽象工廠模式

public

inte***ce

iabstractfactory

public

class

abstractfactorya

implements

iabstractfactory

@override

public ihouse buildhouse()

}

public

class

abstractfactoryb

implements

iabstractfactory

@override

public ihouse buildhouse()

}

抽象工廠模式是所有工廠模式最一般的形式,當工廠只生產乙個系列的產品時(比如只生產car),就變成了抽象工廠模式;當工廠類只有乙個時就變成了簡單工廠模式;同樣的,客戶端呼叫時同樣無法感知具體類生產的過程。具體系統邏輯修改時只需要在對應的工廠上做修改(比如需要增加ccar和chouse時,只需要新增乙個工廠類即可,對原有邏輯無侵入),在一度程度上是符合開閉原則的。假如工廠需要新增產品的系列(比如原先只生成car和house,現在還增加了mobile),那麼抽象類以及具體工廠類都需要進行修改。這個特點叫做開閉原則的傾斜性

public

class

factoryclient

}

常見設計模式 工廠模式

簡單工廠模式 定義 是指由乙個工廠物件決定建立出哪一種產品類的例項。目的是 解決 重複利用問題,減少冗餘。優點 只需要傳入乙個正確的引數,就可以獲取所需要的物件,無須知道其建立的細節。缺點 1 不易於擴充套件過於複雜的產品結構。2 工廠類的職責相對過重,增加新的產品時需要修改工廠類的判斷邏輯,違背開...

C 常見設計模式 工廠模式

設計模式是對設計原則的具體化。用江湖話說就是武林秘籍,總結出來的一些固定套路,可以幫助有根基的程式設計師迅速打通任督二脈,從此做什麼都特別快。工廠模式主要是為建立物件提供了介面。應用場景如下 a 在編碼時不能預見需要建立哪種類的例項。b 系統不應依賴於產品類例項如何被建立 組合和表達的細節。主要特點...

常見設計模式 工廠模式(建立型模式)

工廠模式分為工廠方法模式和抽象工廠模式。工廠方法模式分為三種 建立乙個工廠類,對實現了同一介面的一些類進行例項的建立。inte ce sender class mailsender implements sender class smssender implements sender public ...