要求在軟體系統中,乙個類只負責乙個功能領域中的相應職責
要求乙個軟體實體應當對擴充套件開放,對修改關閉,即在不修改源**的基礎上擴充套件乙個系統的行為
可以通俗表述為在軟體中如果能夠使用基類物件,那麼一定能夠使用其子類物件
要求抽象不應該依賴於細節,細節應該依賴於抽象;要針對介面程式設計,不要針對實現程式設計
要求客戶端不應該依賴那些它不需要的介面,即將一些大的介面細化成一些小的介面供客戶端使用
要求復用時盡量使用物件組合,而不使用繼承
要求乙個軟體實體應當盡可能少的與其他實體發生相互作用
設計模式之遵守的原則
解釋 就乙個類而言,應該僅有乙個引起它變化的原因。如果乙個子類承擔的職責過多,就等於把這些職責耦合在一起,乙個職責的變化可能會削弱或者抑制這個類完成其他職責的能力。這種耦合會導致脆弱的設計,當發生變化時,設計會遭到意想不到的破壞。軟體設計真正要做的許多內容,就是發現職責並把那些職責相互分離。如果你能...
程式設計師應該遵守的程式設計原則
無規矩不成方圓,程式設計原則讓程式設計師更加優秀。程式設計師 好的程式設計原則跟好的系統設計原則和技術實施原則有著密切的聯絡。下面的這些程式設計原則在過去的這些年裡讓我成為了一名優秀的程式設計師,我相信,這些原則對任何乙個開發人員來說,都能讓他的程式設計能力大幅度的提高,能讓他開發出可維護性更強 缺...
設計模式的設計原則
單一職責原則 srp 單一職責適用於 介面,類,方法 開放封閉原則 ocp 乙個軟體實體應當對外擴充套件開放,對修改關閉 關鍵 什麼叫做鉤子方法?是對於抽象方法或者介面中定義的方法的乙個空實現 在實際的運用中,例如有乙個介面,這個介面裡面有7個方法,而你只想用其中的乙個方法,那麼這時,你可以寫乙個抽...