五大基本原則
黎克特制替換原則
單一職責原則
核心思想為:乙個類,最好只做一件事,只有乙個引起它的變化。
例如:將計算器抽象為類,將運算數值和運算方法抽象為狀態和行為(即屬性和方法)。
public class jisuanqi
//加法
public int add(int a, int b)
//減法
public int sub(int a, int b)
}
但這種寫法卻沒有很好的按照單一職責的原則去構建,計算器不僅有加法、減法,還有乘法、除法,倘若後續要加上乘法、除法,那就要在原來的類中進行改動,新增這兩個方法,但如果按照單一職責原則,乙個類專注做一件事,對上乙個類進行拆分,例如:
加法類addjisuanqi
public class addjisuanqi extends jisuanqi
//加法
public int addjisuanqi(int a, int b)
}
減法類subjisuanqi
public class subjisuanqi extends jisuanqi
//減法
public int subjisuanqi(int a, int b)
}
通過將加法、減法分別抽象成單一的類,如果後續還要加乘法、除法功能,只需再新添這兩個類,而不需要在原有類中進行改動。
總結:通常意義下的單一職責,就是指只有一種單一功能,不要為類實現過多的功能點,以保證實體只有乙個引起它變化的原因。
開放封閉原則
核心思想是:軟體實體應該是可擴充套件的,而不可修改的。也就是,對擴充套件開放,對修改封閉。
總結:「需求總是變化」沒有不變的軟體,所以就需要用封閉開放原則來封閉變化滿足需求,同時還能保持軟體內部的封裝體系穩定,不被需求的變化影響。
黎克特制替換原則
核心思想是:子類物件能夠替換父類物件,而程式邏輯不變。
總結:黎克特制替換原則能夠保證系統具有良好的拓展性,同時實現基於多型的抽象機制,能夠減少**冗餘,避免執行期的型別判別。
依賴倒置原則
其核心思想是:依賴於抽象。
將耦合緊密的兩個模組進行分離介面和實現,主要依賴於介面程式設計。
總結:依賴於抽象,就是對介面程式設計,不要對實現程式設計。
介面隔離原則
核心思想是:使用多個小的專門的介面,而不要使用乙個大的總介面。
使用臃腫的介面,會造成實現類實現介面的所有方法,不管是它需要的還是不需要的,造成介面汙染。
介面汙染是指把介面做的過於「胖」,派生類必須實現某些它用不到的功能,這樣不僅加大了介面間的耦合,而且帶來不必要的複雜性,造成介面汙染。
總結:遵守介面隔離原則,將「胖」介面拆分為獨立的幾個介面,各實現類分別與需要的介面類來建立依賴關係。
物件導向五大基本原則
單一職責原則 srp single responsibility principle 又稱單一功能原則,物件導向五個基本原則 solid 之一。它規定乙個類應該只有乙個發生變化的原因。比如單例就是違背單一職責原則 開閉原則 ocp 是 物件導向設計 中 可復用設計 的基石,是物件導向 設計中最重要的...
物件導向五大基本原則
物件導向五大基本原則 原文 以前一直認為程式中的類有使用到封裝繼承多型就是物件導向設計,其實不然 封裝,繼承,多型只是物件導向的三大特性,但是在設計程式的時候並不是說類的結構使用到了 或是體現出了 這三個特性就是物件導向,其實真正的物件導向設計是要符合下面的五大原則,物件導向的五大基本原則 單一職責...
物件導向五大基本原則
以前一直認為程式中的類有使用到封裝繼承多型就是物件導向設計,其實不然 封裝,繼承,多型只是物件導向的三大特性,但是在設計程式的時候並不是說類的結構使用到了 或是體現出了 這三個特性就是物件導向,其實真正的物件導向設計是要符合下面的五大原則,物件導向的五大基本原則 單一職責原則 srp 開放封閉原則 ...