Python軟件開發(fā)中引入設計模式是由生活中的一些實例啟發(fā)而來的。例如,有2個小朋友Alice和Jack,去麥當勞點餐。Alice不了解麥當勞的套餐模式,于是想了一下,跟服務員說:“我要一個麥辣雞腿堡、一個薯條和一杯可樂”。而Jack經(jīng)常吃麥當勞,他也想點和Alice一樣的餐品。Jack發(fā)現(xiàn)其實Alice點的就是麥當勞的A套餐,于是他直接和服務員說:“給我一個A套餐”。
從上面的事例中可以看出,Jack的點餐效率高,因為Jack和服務員都了解麥當勞的套餐模式,溝通起來效率自然就高。那么在這個生活案例中,創(chuàng)建套餐是提高點餐效率的可重用解決方案。它會根據(jù)客戶的需求和餐品的被點頻次制定出符合不同人群的套餐。套餐可以重復被更多的人去點,因此大大提高了顧客與服務員之間的溝通效率。
同理,在軟件開發(fā)世界里,本來沒有設計模式的,用的人多了,也便總結出了設計模式。這就是設計模式的由來。設計模式針對同一情境,眾多軟件開發(fā)的人員經(jīng)過長時間總結,便得到了最佳可重用解決方案。這個可重用解決方案解決了軟件開發(fā)過程中常見的問題,擁有固定的術語,因此交流起來就方便了很多。
綜上,設計模式是軟件開發(fā)過程中共性問題的可重用解決方案。設計模式的內(nèi)涵第一是一套被反復使用、多數(shù)人知曉的、經(jīng)過分類編目的、代碼設計經(jīng)驗的總結。第二是用來解決共性問題。設計模式的外延有:單例模式、工廠模式、適配器模式、代理模式等。據(jù)悉,現(xiàn)用的設計模式有24種,隨著時代的發(fā)展,軟件編程可能會遇到新的場景,設計模式會越來越豐富。
先看一個設計模式中最基本的單例模式的例子。Windows里面的任務管理器就是個典型的單例模式軟件。這是因為Windows任務管理器只能打開一個,就算用戶重復打開,也只能獲得一個實例,這不同于word等軟件可以打開多個實例。其中的原因就是如果有2個窗口同時都能結束某進程,這就會造成在窗口A中某進程結束了,在窗口B中該進程還保留的;同理反過來,某進程在窗口B中結束了,而在窗口A中還保留著。這樣就會造成沖突,系統(tǒng)崩潰。Windows里面的任務管理器符合單例模式,保證一個類僅有一個實例的設計模式。
>>本文地址:http://m.yiyunku.cn/zhuanye/2020/48470.html
聲明:本站稿件版權均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉載。
1 您的年齡
2 您的學歷
3 您更想做哪個方向的工作?