PHP物件導向程式設計基本原則
首先祝大家節日快樂!!!
額,不知道你們剁手沒,小夢是沒有!整整已經錯過了第九個年頭!
小夥伴是不是有一種感覺,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. 面向介面程式設計,而不是面向實現程式設計:只需要關心介面,不需要關心實現。所有的程式碼,它只需要關心某一個類實現了哪些介面,而不需要關心這個類的具體實現。
相關文章
- 物件導向程式設計的基本原則物件程式設計
- 物件導向基本原則物件
- 設計模式之——物件導向5大基本原則設計模式物件
- SOLID:物件導向設計的五個基本原則Solid物件
- 淺談PHP物件導向程式設計PHP物件程式設計
- 開閉原則——物件導向程式設計原則物件程式設計
- 物件導向設計原則物件
- 沒錯,這就是物件導向程式設計(設計模式)需要遵循的 6 個基本原則物件程式設計設計模式
- python基礎(物件導向程式設計)Python物件程式設計
- python物件導向程式設計基礎Python物件程式設計
- 物件導向程式設計物件程式設計
- 物件導向之七大基本原則(javaScript)物件JavaScript
- The Principles of OOD 物件導向設計原則物件
- 2.物件導向設計原則物件
- 物件導向設計原則和模式物件模式
- 物件導向的基本設計原則物件
- 實驗1:UML與物件導向程式設計原則物件程式設計
- Python物件導向程式設計Python物件程式設計
- 程式設計思想 物件導向程式設計物件
- js物件導向程式設計JS物件程式設計
- 十三、物件導向程式設計物件程式設計
- 十六、物件導向程式設計物件程式設計
- Python 物件導向程式設計Python物件程式設計
- 前端設計模式(0)物件導向&&設計原則前端設計模式物件
- 物件導向設計原則&設計模式分類物件設計模式
- JS物件導向程式設計(一):物件JS物件程式設計
- Java中物件導向的設計原則Java物件
- 物件導向的編碼設計原則物件
- php中的程式導向與物件導向PHP物件
- PHP 物件導向基礎概念PHP物件
- 物件導向程式設計(OOP)的七大原則物件程式設計OOP
- Python基礎入門(6)- 物件導向程式設計Python物件程式設計
- 物件導向程式設計C++物件程式設計C++
- Python OOP 物件導向程式設計PythonOOP物件程式設計
- python技能--物件導向程式設計Python物件程式設計
- javascript:物件導向的程式設計JavaScript物件程式設計
- JS物件導向的程式設計JS物件程式設計
- Javascript 物件導向程式設計(一)JavaScript物件程式設計
- Javascript 物件導向程式設計(二)JavaScript物件程式設計