聲明:本系列部落格參考資料《大話設計模式》,作者程傑。
常見的物件導向設計模式大約有23種,但是自從接觸PHP後,漸漸發現常見的設計模式好像少了很多,網路上的資料也比較少,身邊的PHP同事們有的甚至沒有聽說過設計模式,這也有可能是PHP的發展所帶來的,因為PHP對物件導向支援的比較晚,好多PHP程式員還按照面向過程的思想寫代碼。於是,我決定把原來用C#寫的物件導向設計模式用PHP改寫。
什麼是設計模式?
設計模式(Design Pattern)是一套被反覆使用、多數人知曉的、經過分類編目的、代碼設計經驗的總結。使用設計模式是為了可重用代碼、讓代碼更容易被他人理解、保證代碼可靠性。設計模式於己於他人於系統都是多贏的;設計模式使代碼編製真正工程化;設計模式是軟體工程的基石脈絡,如同大廈的結構一樣。
項目中合理的運用設計模式可以完美的解決很多問題,每種模式在現在中都有相應的原理來與之對應,每一個模式描述了一個在我們周圍不斷重複發生的問題,以及該問題的核心解決方案,這也是它能被廣泛應用的原因。
設計模式的優點:
1).複用解決方案: 設計模式本身就是對某一類問題的通用解決方案,是更進階別的複用,已經超出了代碼複用.
2).確定通用術語:開發中的交流和協作都需要共同的詞彙其礎和對問題的共識. 當你有想表達卻又表達不清楚的設計思路,即使表達出來也會被同事誤解的時候,設計模式就顯出溝通的優勢了。
3).代碼更易於修改與維護。因為設計模式都是久經考驗的解決方案,它們的結構都是經過長期的發展形成的,善於應對變化,設計模式本身也是對變化點的封裝。
4).模式有助於提高思考層次。學習模式後,就算不用模式中的方法,也會更好的採取更好的策略去解決問題。
在接下來的篇幅裡會詳細介紹PHP物件導向設計模式,本系列部落格以設計模式的原理為核心,列舉最簡單的例子,讓只要有一點物件導向基礎的讀者都能看明白。
分享一個我在公司內部培訓的PPT,23種物件導向設計模式,執行個體語言為C#,原始碼會在本系列教程結束後奉上:
23種常用物件導向設計模式
以上就介紹了PHP設計模式——概述,包括了方面的內容,希望對PHP教程有興趣的朋友有所協助。