常見的三種工廠模式區別及單例模式

caoziang發表於2020-02-27

簡單工廠模式:

1. 應用場景:用來實現建立物件和物件的使用分離,將物件的建立(例項化)交給專門的工廠類負責。
2. 舉例說明:我有一個工廠類,我們有 A 產品類生產 A 產品和 B 產品類生產 B 產品或更多的產品類,你下單什麼產品,工廠就呼叫指定的產品類進行生產產品。

工廠模式:

1. 應用場景:在該模式中,核心的工廠類不再負責所有產品的建立,而是將具體建立工作交給子類去做。這個核心類(為抽象類)僅僅負責給出具體工廠必須實現的介面,而不負責產品類被例項化這種細節。
2. 舉例說明:我有一個工廠總部(核心)和一個產品總部(核心),工廠總部負責管工廠,產品總部負責管產品,產品總部下有多少個產品,工廠總部下就有多少個工廠,即指定的工廠生產指定的產品(一對一關係);如果你下單 A 產品,A 工廠就生產產品;你下單 B 產品,B 工廠就生產產品。

抽象工廠模式

1. 定義:此模式是對工廠方法模式的進一步擴充套件。在工廠方法模式中,一個具體的工廠負責生產一類具體的產品,即一對一的關係,但是,如果需要一個具體的工廠生產多種產品物件,那麼就需要用到抽象工廠模式了,即一個工廠可以生產多種產品。
2. 舉例說明:產品分為 2 類,有滑鼠產品類總部(核心類),有鍵盤產品類總部(核心類),滑鼠類總部下有戴爾滑鼠、聯想滑鼠 2 種品牌的滑鼠產品類,鍵盤類總部下也有戴爾鍵盤、聯想鍵盤 2 種品牌的鍵盤產品類,這時有一個工廠總部類(核心類),可以生產滑鼠和鍵盤,工廠總部下面有戴爾工廠、聯想工廠 2 種品牌的工廠,但是這 2 種工廠每個工廠都可以生產滑鼠和鍵盤。

單例模式

1、定義:確保一個類只能同時擁有一個例項,並提供一個訪問它的全域性訪問點
2、舉例說明:一個電腦有兩臺印表機,在輸出的時候就要處理不能兩臺印表機列印同一個檔案。
————————————————
原文作者:best輝
轉自連結:部落格:[淺談設計模式(一)] 讓你一分鐘讀懂設計模式
版權宣告:著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請保留以上作者資訊和原文連結。

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章