類和方法的職責應該盡可能是單一的。其核心思想是:乙個類,最好只做一件事,只有乙個引起他的變化。
對擴充套件開放,對修改關閉。
繼承
依賴於抽象。
a,高層次模組不依賴於低層次模組,他們都應該依賴於抽象。
b,抽象不依賴於具體,具體應該依賴於抽象。
對介面程式設計,對基類程式設計
使用小而專的介面,介面的定義盡量簡單
複雜的介面使用介面繼承
子類必須能夠替換其基類
優先使用復合/聚合而不是繼承。
復合表示乙個類被另乙個類完成擁有,在類內建立,類結束之前銷毀。
聚合表示乙個類引用另乙個類,類銷毀之後仍可能存在。
乙個物件應該盡可能少的去了解其他物件。類似單一職責原則,最小知識原則強調盡量少的引入其他類,知道的越少越好。
來自為知筆記(wiz)
設計模式 物件導向設計原則
軟體的可維護性和可複製性是兩個非常重要的軟體質量屬性 物件導向物件設計原則是設計模式學習的基礎。每乙個設計模式都符合乙個或者多個物件導向設計原則 單一職責原則是最簡單的物件導向設計原則,它用於控制類的粒度大小 單一設計原則 乙個物件應該只包含單一的職責,並且該職責被完整的封裝在乙個類裡 這也意味著 ...
設計模式 物件導向設計原則
物件導向設計原則為支援可維護性復用而誕生,這些原則蘊含在很多設計模式中,它們是從許多設計方案中總結出的指導性原則。最常見的7種物件導向設計原則如下表所示 使用頻率 單一職責原則 single responsibility principle,srp 乙個類只負責乙個功能領域中的相應職責 開閉原則 o...
設計模式 物件導向設計原則
世界是具體的,認知是抽象的。像自然界中的生物 植物 動物乙個個名詞,就是對一系列具體個體抽象出來的稱謂,而魚 老虎 樹等就是乙個個實在的具體。哦,也許你會說,樹也是對一系列具體個體的抽象出來的稱謂,對也不對,對是因為樹確實是一系列具體個體的抽象稱謂,不對是因為照這個邏輯下去,就會陷入死迴圈,直到小到...