聲明:本系列博客參考資料《大話設計模式》,作者程傑。
常見的面向對象設計模式大約有23種,但是自從接觸PHP後,漸漸發現常見的設計模式好像少了很多,網絡上的資料也比較少,身邊的PHP同事們有的甚至沒有聽說過設計模式,這也有可能是PHP的發展所帶來的,因爲PHP對面向對象支持的比較晚,好多PHP程序員還按照面向過程的思想寫代碼。於是,我決定把原來用C#寫的面向對象設計模式用PHP改寫。
經常聽見其他程序員(Java、C#)等說PHP是不是運行在瀏覽器端的腳本語言,其實我在接觸PHP之前也這樣認爲過,後來發現PHP是用C語言開發出來的一種語言,C語言是真正意義上跨平臺的語言,這也註定PHP是跨平臺的,PHP是可運行在Windows Server或Linux操作系統的服務器上的語言,它和Java以及C#一樣,代碼存儲並運行在服務器端,它將瀏覽器端可執行的HTML以及腳本發送給瀏覽器執行,PHP相對Java和C#對於面向過程的封裝更多,減少部分數據類型的支持。
PHP是面向對象的,PHP能夠得到這樣快速的發展,能夠被互聯網大企業所廣泛應用,證明PHP是經得住考驗的,隨着移動互聯網的不斷髮展,PHP還會更廣闊的天地。
什麼是設計模式?
設計模式(Design Pattern)是一套被反覆使用、多數人知曉的、經過分類編目的、代碼設計經驗的總結。使用設計模式是爲了可重用代碼、讓代碼更容易被他人理解、保證代碼可靠性。設計模式於己於他人於系統都是多贏的;設計模式使代碼編制真正工程化;設計模式是軟件工程的基石脈絡,如同大廈的結構一樣。
項目中合理的運用設計模式可以完美的解決很多問題,每種模式在現在中都有相應的原理來與之對應,每一個模式描述了一個在我們周圍不斷重複發生的問題,以及該問題的核心解決方案,這也是它能被廣泛應用的原因。
設計模式的優點:
在接下來的篇幅裏會詳細介紹PHP面向對象設計模式,本系列博客以設計模式的原理爲核心,列舉最簡單的例子,讓只要有一點面向對象基礎的讀者都能看明白。
更多詳情敬請關注我的視頻課程:
分享一個我在公司內部培訓的資料,C#實例源代碼及類圖:
對應23種面向對象設計模式PPT: