中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

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

新巴尔虎右旗| 广河县| 酒泉市| 金山区| 太康县| 忻城县| 灌阳县| 安溪县| 固阳县| 江孜县| 德兴市| 丹阳市| 宜都市| 视频| 当涂县| 新竹县| 宜城市| 尉犁县| 永安市| 长寿区| 黔西| 东光县| 鸡东县| 丰镇市| 灵璧县| 镇江市| 余江县| 永康市| 泗阳县| 建昌县| 维西| 班玛县| 大渡口区| 蒙城县| 黔西| 贵港市| 融水| 绩溪县| 夹江县| 泰和县| 贵州省|