91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python如何實現抽象工廠模式

發布時間:2022-01-13 16:31:06 來源:億速云 閱讀:239 作者:iii 欄目:大數據

這篇文章主要介紹“Python如何實現抽象工廠模式”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Python如何實現抽象工廠模式”文章能幫助大家解決問題。

實 現

下面是實現Abstract Factor模式的一些有用技術:
1) 將工廠作為單件 一個應用中一般每個產品系列只需一個ConcreteFactory的實例。因此工廠通常最好實現為一個Singleton(3.5)。

只有一句話,但是并沒有給出實現。為了說明這個問題,作者按照自己的理解,以前面提到的操作系統主題的例子為背景提供一個實現。

類圖:

Python如何實現抽象工廠模式

有關Singleton設計模式的內容會在后續文章中詳細介紹,這里先大概提一下。

ThemeFactory中首先將構造函數和析構函數設成保護的,這樣用戶就沒有辦法直接構建和銷毀工廠對象。用戶構建和銷毀對象可以使用另外提供的兩個公開的靜態方法:getInstance和deleteInstance。Sington模式就是通過這種方式保證同一時刻只有一個對象存在的。

生成產品的createWindow和createScrobar兩個接口,大家應該已經很熟悉了。

頭文件

Python如何實現抽象工廠模式

首先觀察include語句部分,為了控制具象類的創建和銷毀,抽象類的實現包含了3個具象類的頭文件。一般來講這種感覺不怎么好。這個問題可以解決,但是會比較繁瑣。這里就不再深入討論了。

接下來是兩個靜態變量:instance用來保存ThemeFactory唯一的具象類實例;system_theme用來保存系統的設定值。由于這是個演示程序,所以用這么一個變量來控制程序的運行。

Python如何實現抽象工廠模式

其余的代碼就更加簡單,這里不再說明。

利用者代碼

首先請注意,這里只包含了抽象類的頭文件。并且由于抽象類的頭文件中也沒有包含具象類的頭文件,所以具象類對利用者完全不可見。當系統的主題發生變化時,自動實現了具象工廠類的切換。

執行結果

Python如何實現抽象工廠模式

注意觀察工廠的切換動作。

關于“Python如何實現抽象工廠模式”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

房山区| 黄冈市| 株洲市| 白山市| 沁阳市| 逊克县| 新民市| 阿合奇县| 五指山市| 墨江| 师宗县| 庆云县| 苏尼特右旗| 马山县| 西乌珠穆沁旗| 石景山区| 商城县| 临澧县| 阜康市| 黑河市| 永德县| 香河县| 浮梁县| 江门市| 会昌县| 新蔡县| 汝城县| 民县| 崇左市| 疏勒县| 温泉县| 姚安县| 双柏县| 娄底市| 句容市| 孟村| 望城县| 和龙市| 禄丰县| 新乡县| 维西|