面向對象的基本原則

一、可維護性

高內聚、低耦合

高內聚,是針對一個組件(類)內部而言,如果一個組件幹了好幾件不相關的事情,那麼組件內部就比較散,出問題是遲早的事情。中原大戰之後,蔣介石表面上統一了各個軍閥,實際上,他們內部之間不夠內聚,一盤散沙。

低耦合,是針對多個組件之間的關係。老死不相往來,是理想國,也就沒有什麼矛盾,但這是不可能的。所以,儘量減少類之間的依賴。

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、一致性

   

  

 

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