PHP物件導向程式設計基本原則

思夢php發表於2017-11-11

首先祝大家節日快樂!!!

額,不知道你們剁手沒,小夢是沒有!整整已經錯過了第九個年頭!

小夥伴是不是有一種感覺,PHP入門的時候簡直愛不釋手,總是把 ”PHP是世界上最好的語言“ 掛在嘴邊上,覺得他簡單,快速完成專案!

然兒,終於有一天,你開發的專案過於龐大的時候,突然發現:我寫的程式碼好亂,擴充套件性好低,可維護性好差。。。。。。。

然後你就下定決心要重構你的專案?想來想去,當然是物件導向程式設計了,然後加上各種設計模式!你就開始幹了!!!

下面就給大家講一下物件導向的設計原則,當然物件導向的好處以及如何分析設計我就不告訴你們了,如果想知道的可以連續我哦!本人QQ:476319748 (備註物件導向設計)

物件導向程式設計主要有一下幾種基本原則

1. 單一職責:一個類,只需做好一件事情。不要使用一個類來完成很複雜的功能,而是拆分設計成更小更具體的類。

那有的小夥伴又要問了,為什麼這樣做?對對,倒數第二個同學問的好,下面我就給大家說一下為什麼:首先呢,就比如前後端分離,為什麼前端主做頁面展示,渲染效果,後端做業務邏輯,道理是一樣的,專精一樣,類也是一樣,專職一件事,高效,而且呢維護性已經擴充套件性很高,耦合度很低,修改一個不會影響其他人

2. 開放封閉原則:一個類,應該可以擴充套件,而不可修改的。一個類在實現之後,應該是對擴充套件開放,對修是改封閉的,不應該使用修改來增加功能,而是通過擴充套件來增加功能。

這個你還要問為什麼?那我就不告訴你了!!!

3. 依賴倒置:一個類,不應該強制依賴另一個類。每個類對另外一個類都是可以替換的。如:有A、B兩個類,A需要依賴B類,不應該在A類中直接呼叫B類,而是要使用依賴注入的方式,通過使用諸如,將A類依賴的B類的物件注入給A類,B類對於A類來說就是可以替換的。如果C類實現了和B類一樣的介面,那對於A類,B和C也是可以隨意替換的。

這個那個同學不用蠢蠢欲動想知道為什麼了,我來告訴你吧:這個是降低耦合度!什麼?你不知道耦合度是什麼了,那麼請你出去,這裡不適合你!

4. 配置化: 儘可能的使用配置,而不是使用硬編碼。像類的關係的定義,也應該是可以配置的。

這點呢和你為什麼想做物件導向程式設計是一個道理!

5. 面向介面程式設計,而不是面向實現程式設計:只需要關心介面,不需要關心實現。所有的程式碼,它只需要關心某一個類實現了哪些介面,而不需要關心這個類的具體實現。


相關文章