Python 中最簡最好的設計模式

Python 中最簡最好的設計模式

大勢所趨,Python 已然成風

C語言誕生於1972年,確隨着 Unix 的誕生才深深植根於各大操作系統;

C++誕生於1983年,確因微軟的可視化桌面操作系統才得以廣泛傳播;

Java 誕生於1995年,確因互聯網的迅速崛起才變得家喻戶曉;

Python 誕生於1991年,而下一場技術革命已然開始,AI 時代已然成風。在 AI 領域中已經被廣泛使用的 Python 必將成爲下一個時代的第一開發語言!

最熱門的 AI 開源框架 PyTorch 和 TensorFlow 都已經採用了 Python 作爲接口和開發語言。

除此之外,還有一堆的 AI 相關的框架庫,也都紛紛採用,如 AIMA、pyDatalog、SimpleAI、PyBrain、PyML 等。

語言的熱門程度一直是程序員持續關注的話題,也是衆多初學者的糾結之處;畢竟,如果學習了一門冷門的技術,不但英雄無用武之地,而且在求職市場上也沒有什麼優勢。

2018 年的 TIOBE 編程語言排行榜中,Python在衆多的計算機語言中已經穩穩排名第四了,而且還有大幅上升的趨勢( 2017 年排名第 5 )。

作爲這麼一門有前途也有錢途的語言,還有什麼理由不去學習和掌握呢?

學了 Python 爲什麼還要學設計模式

要成爲一名優秀的程序員,只掌握一門編程語言是不夠的;還需要學習完成一個大型實際項目所需的更多技能:

如何組織代碼
面向對象設計
數據結構和算法
數據庫基礎知識
構建和部署
優良的代碼組織結構需要依賴團隊制定的編程規約、長期養成的編程習慣、及不斷積累的技術經驗。

面向對象設計是一種設計複雜程序的方法,它將代碼分成了單獨的類和對象(類的實例),這些類和對象封裝了一些特定的功能。

要更深入地理解面向對象的設計思想,則需要學習設計模式,設計模式是面向對象思想的高度提煉和模板化。

因此掌握設計模式,是寫出高質量代碼的必備要素!掌握設計模式,理解面向對象的編程思想,將會使您的代碼更具可讀性,更易拓展和更可維護。

什麼是設計模式?

設計模式最初是被 GoF 於1995年提出的。GoF 全稱是 Gang of Four(四人幫),即 Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides。

他們四人於1995年出版了一本書《Design Patterns: Elements of Reusable Object-Oriented Software》(翻譯成中文是《設計模式 可複用面向對象軟件的基礎》),第一次將設計模式提升到理論高度,並將之規範化。該書提出了23種經典的設計模式。

設計模式(Design pattern)是一套被反覆使用、多數人知曉的、無數工程師實踐的代碼設計經驗的總結,它是面向對象思想的高度提煉和模板化。


使用設計模式是爲了讓代碼具有更高的可重用性,更好的靈活性和可拓展性,更易被人閱讀和理解。

爲什麼要學設計模式?

設計模式是軟件開發人員在軟件開發過程中面臨的一般問題的解決方案。這些解決方案是衆多軟件開發人員經過相當長的一段時間的試驗和錯誤總結出來的。所以不管你是新手還是老手,學習設計模式對你都有莫大的幫助。

學習設計模式的理由有很多,我這裏只列出幾個最實現的:

擺脫面試的窘境,不管你是前端工程師還是後端工程師,亦或是全端工程師,設計模式都是不少面試官必問一道題。
讓你的程序設計能力有一個質的提升,不再是寫一堆結構複雜,難以維護的爛代碼。
讓你的程序更健壯、更靈活、可複用。
使你對面向對象的思想有一個更高層次的理解。
Python 中最簡最好的設計模式

設計模式於1995被 GoF 提出,被廣泛應用於熱門的面對象語言。目前用Java、C++ 描述的設計模式的書籍和資料已經非常多了,但用 Python 來描述的真是太少了;

我在噹噹上搜索了一下“Python 設計模式”,只有那零星的幾本書,而且大部分是國外的書,翻譯過來後都變味了。

Python 中講設計模式的書籍和資料非常少,當然有一些其自身的原因:

相較於Java和C++而言,Python是一門解釋 類型的語言,本身對數據類型的支持非常靈活多變。

Python本身具有非常好的靈活性和良好的封裝性,使得其自帶了很多的功能,已經把一些模式融入到自己的語言特性了。

但這不代表學習Python的你就不需要了解設計模式了,原因有如下:

Python具有良好的設計,但總會有一些複雜的需求,語言特性本身難以支撐,這個時候就需要考慮一些設計模式了。

設計模式是一種編程思想,他和語言沒有強關聯,能適用於所有面向對象的語言,學習設計模式能讓你對面向對象的思維有更深入的瞭解。能更容易理解一些框架的設計,能讀懂更多開源代碼(很多優秀的開源項目,本身應用了大量的設計模式)。

那既然設計模式這麼重要,作爲一個Python兒,有沒有一個簡單易懂的教程呢?

答案當然是肯定的,下面要介紹的就是Python中最簡最好的設計模式——《從生活中領悟設計模式(Python)》。

爲什麼是最簡?

並不是代碼越多程序就越強大,代碼多可能是功能比較多,但不一定強大。優秀的程序往往是即簡又精!在這一課程中作者力求用最簡單的語法實現最複雜的邏輯;用最短小的代碼寫出最強悍的程序!

爲什麼是最好?

網上有很多設計模式相關的資料,但這些資料要麼寫的過於複雜,讀起來乏味難懂;要麼太簡單,不切合實戰中的項目開發。

本課程每一章節的內容都從生活中一個個有趣的小故事開始,由淺入深地講解每一個模式,在化繁爲簡的同時也會給出實際的應用案例。

從生活中領悟設計模式

程序源於生活,又高於生活!程序的靈魂在於思維的方式,而思維的靈感來源於生活的精彩。程序不應只是冷冰冰的代碼,更應賦予它生活的樂趣和特殊的意義;用心去感受生活,從生活中領悟設計模式,你將會有意想不到的收穫。

《從生活中領悟設計模式(Python)》適合具有一定編程基礎又渴望提升自己編程技能的人,此課程如果武功祕籍一般力求用最通俗的語言闡述最難懂的概念;用最簡單的語法實現最複雜的邏輯;用最短小的代碼寫出最強悍的程序!

《從生活中領悟設計模式(Python)》分三卷內容:

第一卷:基礎篇(第01~21課),19 種常用設計模式單獨章節講解 + 剩餘 4 種模式合集(會有1~2篇的篇幅);

第二卷:進階篇(第22~24課),是基礎設計模式的衍生,也是各大編程語言中非常重要而常見的種編程機制;

第三卷:經驗篇(第25~27課),將會分享我對設計原則、設計模式、項目重構的經驗和看法。
--------------------- 
作者:GitChat的博客 
來源:CSDN 
版權聲明:本文爲博主原創文章,轉載請附上博文鏈接!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章