天天看點

設計模式2 面向對象設計原則

面向對象設計原則 

對于面向對象軟體系統的設計而言,在支援可維護性的同時,提高系統的可複用性是一個至關重要的問題,如何同時提高一個軟體系統的可維護性和可複用性是面向對象設計需要解決的核心問題之一。在面向對象設計中,可維護性的複用是以設計原則為基礎的。每一個原則都蘊含一些面向對象設計的思想,可以從不同的角度提升一個軟體結構的設計水準。 

面向對象設計原則為支援可維護性複用而誕生,這些原則蘊含在很多設計模式中,它們是從許多設計方案中總結出的指導性原則。面向對象設計原則也是我們用于評價一個設計模式的使用效果的重要名額之一。 

原則的目的: 高内聚,低耦合 

面向對象設計原創表 

設計模式2 面向對象設計原則

1,單一職責原則:

如果将每個類的方法分離出來,就能夠保證每個類的指針單一.

提高了安全性.

提高了可維護性

提高了可讀性.

單一原則,示範1,

但是這個項目,老程式員走了,新的程式員接手,要求上班穿休閑的衣服

于是代碼就變成了這樣的:

後來又有新的程式員看着這兩行的功能是一樣 的,于是又改成這樣的

再來新手接這樣的項目就徹底暈了.....

寫成單一原則,這樣就不用搞來搞去了,不要修改已經寫好的代碼.

單一職責原則:

2,開閉原則案例:

類的改動是添加代碼,而不是修改源代碼

代碼優化,

新增 基金辦理 需求,不再需要修改源代碼

總結:

開閉原則: 安全穩定,可維護.

3,依賴倒轉原則案例:

張三上班開奔馳

張三還可能開寶馬上班

-------------------------------

業務逐漸複雜,那大衆呢?越來越多的的呢?

越來越亂............

------------------------------------------

将業務層和實作層 通過抽象層 隔離,解耦合 

依賴倒轉原則,電腦組裝案例:

抽象層:cpu,顯示卡,記憶體

架構層:組合cpu,顯示卡,記憶體

裡氏代換原則:略

接口隔離原則:

合成複用原則:繼承,組合,依賴

能用組合不用繼承

迪米特法則: