php 面相对象设计,PHP面向对象设计的规范
1.職責
過程化的編碼,控制代碼的職責是判斷文件格式,它判斷兩次不是一次。面向對象的編碼,父類的職責是提供規范,判斷格式也只有一次,并且不考慮細節。
2.內聚
內聚是一個模塊內部各成分之間相關程度的度量。如果組件職責清晰、分工明確,那么代碼較為好維護;如果代碼之間關聯太廣,則維護性較差。(因為你想修改某部分代碼的同時,要修改相關代碼)。過程化的編碼,xml 文件格式判斷是分開在兩個函數里判斷,導致修改時要同時修改,這是低內聚。面向對象的編碼,xml 文件格式判斷是只在父類的靜態方法里,修改一個地方即可,這是高內聚。
3.耦合
當系統各部分代碼緊密綁在一起時,就會產生緊密耦合。高耦合使代碼擴展和維護異常艱難,而低耦合基本都是分開的功能模塊,維護和擴展都非常方便。過程化的編碼,xml 處理分別包含在讀和寫兩個函數中,也就是說,兩個函數是緊密相連的,修改的時候,要同時修改,增加新文件判斷,要同時新增,那么它就是高耦合。面向對象的編碼,xml 處理只放在xml 類中,沒有和其他類相緊密結合,那么它就是低耦合。
4.設計的四個方向標
沒有人能在設計的時候絕對正確。大部分人都要不停地修改代碼,因為需求可能發生變化,或者我們加深了對問題的認識。修改代碼的時候很容易失去控制。這里加個方法,那里加個類。導致代碼和項目結構越發的混亂。
(1).代碼重復:如果有,請放到父類或者公共類,合并到一起。
(2).類處理的太多:每個類最好保持獨立性,能夠盡量單獨抽取出來還能使用。
(3).萬能類:如果一個類把所有工作都做了,那么請分離,分出父類和子類,父類做規范,子類做實現。
(4).條件語句:如果發現一個類中,條件語句使用太過頻繁,特別是同一種條件判斷在多個方法中同時出現,那么就說明這個類需要拆分成兩個或者更多。
總結
以上是生活随笔為你收集整理的php 面相对象设计,PHP面向对象设计的规范的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 实现打印条形码_条码打印软件中
- 下一篇: C语言求一个数组中第k大的数,leetc