設計模式 工廠類相關模式

2022-05-21 11:48:12 字數 1086 閱讀 2787

工廠模式的定義如下:定義乙個用於建立物件的介面,讓子類決定例項化哪個類。工廠方法使乙個類的例項化延遲到其子類。其通用類圖如下。其產品類定義產品的公共屬性和介面,工廠類定義產品例項化的「方式」。

工廠模式、抽象工廠模式的優點:

1、工廠模式巨有非常好的封裝性,**結構清晰;在抽象工廠模式中,其結構還可以隨著需要進行更深或者更淺的抽象層級調整,非常靈活;

2、遮蔽產品類,使產品的被使用業務場景和產品的功能細節可以分而開發進行,是比較典型的解耦框架。

工廠模式、抽象工廠模式的使用場景:

1、當系統例項要求比較靈活和可擴充套件時,可以考慮工廠模式或者抽象工廠模式實現。比如,

在通訊系統中,高層通訊協議會很多樣化,同時,上層協議依賴於下層協議,那麼就可以對應建立對應層級的抽象工廠,根據不同的「產品需求」去生產定製的例項。

1、工廠模式相對於直接生成例項過程要複雜一些,所以,在小專案中,可以不使用工廠模式;

2、抽象工廠模式中,產品類的擴充套件比較麻煩。畢竟,每乙個工廠對應每一類產品,產品擴充套件,就意味著相應的抽象工廠也要擴充套件。

工廠類相關模式含義

工廠方法模式(英語:factory method pattern)是一種實現了「工廠」概念的物件導向設計模式。就像其他建立型模式一樣,它也是處理在不指定物件具體型別的情況下建立物件的問題。工廠方法模式的實質是「定義乙個建立物件的介面,但讓實現這個介面的類來決定例項化哪個類。工廠方法讓類的例項化推遲到子類中進行。

建立乙個物件常常需要複雜的過程,所以不適合包含在乙個復合物件中。建立物件可能會導致大量的重複**,可能會需要復合物件訪問不到的資訊,也可能提供不了足夠級別的抽象,還可能並不是復合物件概念的一部分。工廠方法模式通過定義乙個單獨的建立物件的方法來解決這些問題。由子類實現這個方法來建立具體型別的物件。

物件建立中的有些過程包括決定建立哪個物件、管理物件的生命週期,以及管理特定物件的建立和銷毀的概念。

歸類 : python--設計模式

python 設計模式之工廠類相關模式

python 工廠類設計模式 例 麥當勞自助點餐臺一類的點餐系統。在觸控顯示屏上,有三類可以選擇的餐品 漢堡,小食,飲料。當我們選擇好自己的食物,支付完成,訂單就生成了。1.漢堡以2種為例 class burger object name price 0.0 def getprice self re...

建立類設計模式(5種) 工廠類相關模式

想必大家一定見過類似於麥當勞自助點餐臺一類的點餐系統吧。在乙個大的觸控顯示屏上,有三類可以選擇的上餐品 漢堡等主餐 小食 飲料。當我們選擇好自己需要的食物,支付完成後,訂單就生成了。下面,我們用今天的主角 工廠模式 來生成這些食物的邏輯主體。首先,來看主餐的生成 僅以兩種漢堡為例 class bur...

設計模式 簡單類工廠

在程式設計學習過程中,開始是隨性的寫,覺得只要能實現自己想要的功能,便可完事。當需求發生改變時,樂此不彼地修改凌亂的 沒有領悟到程式設計這門藝術,只是乙個 搬運工。慢慢去閱讀一些書籍,發現自己知道的東西太少,思想過於簡單,考慮問題比較單一。希望能通過每天的學習去充實自己,並將這些點滴記錄下來。今天就...