PHP - 設計模式之 寫在最後

面向對象編程的基本原則

1、單一職責原則。一個類,只需要做好一件事情,不要一個類就完成所有的事情,我們應該將其拆分成小的模塊,每個負責每個的職責,切勿貪多。

2、開發封閉原則。一個類,應該可以擴展,但不可修改。不應該使用修改來增加功能,而是通過擴展來增加功能。

3、依賴倒置原則。一個類,不應該強依賴於另外一個類。每個類,對於另外一個類,都是可以替換的。比如有A和B兩個類,如果A需要依賴於B,那實際上不應該在A類中,直接調用B類,而是應該使用依賴注入的方式,通過注入,將B類的對象,注入給A類,這樣的話,B對A來說,是可以替換的。如果現在有一個類C,提供了跟B類一致的接口,這時候,就可以在C和B之間切換。

4、配置化原則。儘可能地使用配置,而不是硬編碼。就是說,對於一些數據參數,我們應該把它寫到文件裏,調的時候,直接通過調取配置文件,獲取相關參數,而非將這些配置數據,赤裸裸地寫在代碼行裏。還有,像類的關係,也應該是可以配置,寫入到配置文件的。比如3裏面提到的例子A、B、C三個類,到底A是應該依賴於B,還是C,都是應該在配置文件裏配置的,而非,在代碼行裏設置操作。

5、面向接口編程原則。而非,面向實現編程,只需要關心接口,而不是,關心實現。拿3的例子來說,比如A,只需要瞭解B和C提供了哪個接口,而不需要關心B和C是怎麼實現的。

 

MVC結構

模型,試圖,控制器。MVC結構是一種B/S或C/S軟件工程的組織方式。

1、模型(Model):數據的存儲和封裝。也就是說關於數據庫的操作都是在模型層來完成的!

2、視圖(View):展現層的封裝,如Web系統的模板文件。也就是放html、html文件的地方,用來顯示網頁數據信息的。

3、控制器(Controller):業務代碼或功能的實現部分。

作爲一種工程組織結構,我們在開始編碼的時候,需要設置Apache或Nginx,對入口文件進行映射。將所有非靜態的url映射到PHP文件,準確地說是Controller控制器的某個方法。

 

配置與設計模式

1、PHP中使用ArrayAccess實現配置文件的加載

2、在工廠方法中讀取配置,生成可配置化的對象

3、使用裝飾器模式實現權限驗證,模板渲染,JSON串化

4、使用觀察者模式,實現數據更新事件的一系列更新操作

5、使用代理模式實現數據庫的主從自動切換

 

-------------------------------------------------------------------------

相關聲明:此次PHP設計模式系列,基於慕課網 Rango老師《大話PHP設計模式》課程,學習整理,僅供學習,不作任何商業用途!若發文有不妥之處,請聯繫本人,做相關處理。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章