日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

看得懂的外观设计模式 python3 实现

發(fā)布時(shí)間:2023/12/4 python 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 看得懂的外观设计模式 python3 实现 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

外觀設(shè)計(jì)模式在平常的代碼編寫中,會(huì)經(jīng)常使用。在平常代碼的編寫時(shí),即使程序員沒有從標(biāo)準(zhǔn)上認(rèn)識(shí)過外觀設(shè)計(jì)模式,但在開發(fā)的過程中,也會(huì)從代碼的多方面角度考慮,從而編寫了符合外觀設(shè)計(jì)模式的代碼。

很多程序員都有這種感覺,在學(xué)習(xí)一些自認(rèn)為沒有了解的技術(shù)時(shí),發(fā)現(xiàn)自己已經(jīng)接觸過了一部分內(nèi)容,這一部分內(nèi)容有標(biāo)準(zhǔn)上書面上有著準(zhǔn)確的定義。

擁有豐富項(xiàng)目經(jīng)驗(yàn)的程序員,在考慮了項(xiàng)目整體代碼架構(gòu)、性能優(yōu)化等方面后,編寫的程序?qū)⒑鸵恍?biāo)準(zhǔn)定義的技術(shù)發(fā)生雷同。

學(xué)習(xí)設(shè)計(jì)模式,是促進(jìn)相關(guān)技術(shù)的增長,但是在沒有豐富的項(xiàng)目經(jīng)驗(yàn)前,很大一部分學(xué)習(xí)了設(shè)計(jì)模式的開發(fā)者,將不懂如何使用設(shè)計(jì)模式融入到自己的代碼編寫之中。所以我寫的設(shè)計(jì)模式文章,大多數(shù)只是簡單的實(shí)現(xiàn)了設(shè)計(jì)模式,并不會(huì)把多余的內(nèi)容加入到實(shí)現(xiàn)之中。因?yàn)槲业挠^點(diǎn)是“徐徐漸進(jìn),在有了項(xiàng)目經(jīng)驗(yàn)后,在進(jìn)一步考慮項(xiàng)目的優(yōu)化迭代”。

回歸正題,開始講解外觀設(shè)計(jì)模式。
外觀設(shè)計(jì)模式,簡單的來說,是通過編寫一個(gè)簡單的接口,不暴露系統(tǒng)的復(fù)雜性,增加這個(gè)系統(tǒng)的易用性,屏蔽內(nèi)部實(shí)現(xiàn)。
在日常開發(fā)中,屏蔽系統(tǒng)內(nèi)部實(shí)現(xiàn)是經(jīng)常做的事情,所以對(duì)于一部分開發(fā)者來說,外觀設(shè)計(jì)模式是在項(xiàng)目中經(jīng)常使用的技術(shù)。接下來就來看一下外觀設(shè)計(jì)模式的基本實(shí)現(xiàn)。

例:通過一個(gè)按鈕,控制空調(diào)的啟動(dòng)。
分析空調(diào)的啟動(dòng)可以簡要的分為以下步驟:點(diǎn)擊按鈕——>收到點(diǎn)擊按鈕的信號(hào)——>開啟制冷——>開啟溫度檢測(cè)自動(dòng)調(diào)溫。

我們首先新建一個(gè)制冷器與溫度計(jì)類,模擬制冷器與溫度計(jì)的啟動(dòng):

#制冷器 class Refrigerator():def start(self):print('制冷器啟動(dòng)...')def stop(self):print('制冷器停止...') #溫度計(jì) class Thermometer():def start(self):print("溫度計(jì)啟動(dòng)...")def stop(self):print("溫度計(jì)停止...")

常規(guī)情況下,我們可以直接調(diào)用制冷器后再調(diào)用溫度計(jì),這個(gè)時(shí)候就比較麻煩,內(nèi)部系統(tǒng)暴露出來,使用極其繁瑣。
接下來新建一個(gè)空調(diào)類,用以統(tǒng)一調(diào)用這兩個(gè)類,實(shí)現(xiàn)制冷的開始。

#空調(diào)類 class AirConditioner():#初始化def __init__(self):self.refrigerator=Refrigerator()self.thermometer=Thermometer()#開始鍵按下 def startBtnClick():print('空調(diào)啟動(dòng)鍵按下...')self.start()#停止鍵按下 def stopBtnClick():print('空調(diào)關(guān)閉鍵按下...')self.stop()#開始方法 def start(self):print('空調(diào)啟動(dòng)...')self.refrigerator.start()self.thermometer.start()#停止方法 def stop(self):print('空調(diào)停止...')self.refrigerator.stop()self.thermometer.stop()

以上的空調(diào)類中,初始化中實(shí)例化了制冷器類與溫度計(jì)檢測(cè)類,在開始按鈕點(diǎn)擊的方法中,啟動(dòng)了開始方法,開始方法打開了制冷器與溫度檢測(cè);同理,停止方法也是如此。調(diào)用方法如下:

ac=AirConditioner() ac.start()

新建空調(diào)后,開始即可,查看運(yùn)行效果:

最后查看完整的代碼:

#空調(diào)類 class AirConditioner():#初始化def __init__(self):self.refrigerator=Refrigerator()self.thermometer=Thermometer()#開始鍵按下 def startBtnClick():print('空調(diào)啟動(dòng)鍵按下...')self.start()#停止鍵按下 def stopBtnClick():print('空調(diào)關(guān)閉鍵按下...')self.stop()#開始方法 def start(self):print('空調(diào)啟動(dòng)...')self.refrigerator.start()self.thermometer.start()#停止方法 def stop(self):print('空調(diào)停止...')self.refrigerator.stop()self.thermometer.stop()#制冷器 class Refrigerator():def start(self):print('制冷器啟動(dòng)...')def stop(self):print('制冷器停止...') #溫度計(jì) class Thermometer():def start(self):print("溫度計(jì)啟動(dòng)...")def stop(self):print("溫度計(jì)停止...")ac=AirConditioner() ac.start()

總結(jié)

以上是生活随笔為你收集整理的看得懂的外观设计模式 python3 实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。