面向物件的基本原則
阿新 • • 發佈:2019-09-11
一、可維護性
高內聚、低耦合
高內聚,是針對一個元件(類)內部而言,如果一個元件幹了好幾件不相關的事情,那麼元件內部就比較散,出問題是遲早的事情。中原大戰之後,蔣介石表面上統一了各個軍閥,實際上,他們內部之間不夠內聚,一盤散沙。
低耦合,是針對多個元件之間的關係。老死不相往來,是理想國,也就沒有什麼矛盾,但這是不可能的。所以,儘量減少類之間的依賴。
Soc
關注分離點,我們經常說mvc模式是關注分離點的。什麼意思呢?可以把mvc看成三個大的元件,每個元件都幹自己的事情,model專注業務邏輯、view專注頁面展示、controller專注控制,把適當的model推給適當的view
二、面向物件設計
面向介面程式設計
利於擴充套件
組合優於繼承
無論是組合還是繼承,都是可以擴充套件物件的功能。從耦合性上來講,組合當然優於繼承。介面卡模式(包裝器模式)有兩種實現方式
隔離可能改變的部分
把經常變化的部分以抽象的方式隔離起來
SOLID原則
1、單一責任原則 (SRP)
2、開放/封閉原則(OCP)
3、里氏替換原則(LSP)
4、介面分離原則(ISP)
5、依賴反轉原則(DIP)
KISS (keep it simple,stupid)
DRY (don't repeat yourself)
三、設計模式
需求和重構
按照oo原則來設計,結果並不一定是某種設計模式,但是可能非常接近某種模式,這時候,可以考慮是否使用模式
四、編寫優質軟體
可測試性
虛擬物件(虛擬化框架)
仿冒物件
可擴充套件性
基於介面的設計
外掛架構(好的框架都是具有外掛的架構,如Asp.net,可通過配置檔案註冊響應模組和處理器)
可讀性
1、註釋(包括命名)
2、清晰(程式碼結構)
3、短的更好
4、一致性
&n