本文為《設計模式之禪》第二章的讀書筆記
定義:應該有且僅有乙個原因引起類的變化
難點:如何劃分職責
實踐:一般專案類很多時候沒法滿足 單一職責原則,但是介面一定要滿足單一職責原則
定義:凡是父類能出現的地方,子類都能夠出現
具體分為三個層面:
注:此時是通過過載而不是重寫父類的方法,實現子類的功能
定義分為三個部分
實踐:定義:類間的依賴關係應該建立在最小的介面上
具體:
實踐:
介面隔離vs單一職責原則
單一職責原則重點在於職責的單一。乙個介面職責單一,但是可能有多個方法,而介面隔離原則強調的是介面暴露方法最夠的少,兩者重點不同
亦被稱為最少知識法則
定義:乙個物件應該對其他物件有最少的了解
具體:
注:不要出現geta().getb().getc().getd()這種情況(在一種極端的情況下允許出現這種訪問,即每乙個點號後面的返回型別都相同),類與類之間的關係是建立在類間的,而不是方法間,因此乙個方法盡量不引入乙個類中不存在的物件,當然,jdk api提供的類除外。
(前五大原則都是開閉原則的具體形態)
定義:對修改封閉,對擴充套件開放
作用:
注:對於維護而言,修改·乙個類的難度絕大多數時候要高於擴充套件乙個類
實踐這六大原則可以用來提高**的可維護性和可復用性,但是代價是會增加系統的複雜度。所以,對這六大原則的使用並不是一味的服從,而是根據實際情況有選擇的執行。
物件導向設計模式原則
一 單一職責原則srp single responsibility principle 單一職責原則,指的是乙個類應該僅有乙個引起它變化的原因。變化的原因,即所謂的 職責 如果乙個類有多個引起變化的原因,就意味著這個類有多個職責,也就是說多個職責耦合在了一起。這會造成相互影響,可能乙個職責變化影響到...
物件導向設計模式原則
物件導向設計模式原則 網路 1.單一職責原則 srp 單一職責原則 srp 就乙個類而言,應該僅有乙個引起它變化的原因。也就是說,不要把變化原因各不相同的職責放在一起,因為不同的變化會影響到不相干的職責。再通俗一點地說就是,不該你管的事情你不要管,管好自己的事情就可以了,多管閒事害了自己也害了別人。...
設計模式 物件導向設計原則
軟體的可維護性和可複製性是兩個非常重要的軟體質量屬性 物件導向物件設計原則是設計模式學習的基礎。每乙個設計模式都符合乙個或者多個物件導向設計原則 單一職責原則是最簡單的物件導向設計原則,它用於控制類的粒度大小 單一設計原則 乙個物件應該只包含單一的職責,並且該職責被完整的封裝在乙個類裡 這也意味著 ...