(框架)
對擴充套件開放、對修改關閉在不被修改的前提下被擴充套件抽象化*
(封裝)
(權衡)建議乙個物件乙個bean,解耦合(看具體情況)
乙個物件應該只包含單一的職責,並且該職責被完整地封裝在乙個類中
ps:乙個類承擔的職責越多,它被復用的可能性越小
(抽象)
所有引用父類的地方必須能透明地使用其子類地物件
軟體中如果能夠使用基類物件,那麼一定能夠使用其子類物件
(具體實現)
高層模組不應該依賴低層模組,它們都應該依賴抽象
抽象不應該依賴於細節,細節應該依賴於抽象
(介面)
用多個專門地介面,而不使用單一的總介面乙個介面代表乙個角色
介面僅僅提供客戶端需要的方法
(物件)
盡量使用物件組合/聚合關係,少用繼承盡量使用物件組合,而不是繼承
關聯關係
(包括組合關係和聚合關係)
通過委派呼叫已有物件的方法達到復用其已有功能的目的
(實體)
乙個軟體實體應當盡可能少的與其他實體發生相互作用
設計模式七大原則
open closed principle ocp 最基礎的原則,對擴充套件開放,對修改關閉強調的是用抽象構建框架,用實現擴充套件細節,可以提高軟體系統的可復用性和可維護性 dependence inversion principle,dip 程式要依賴於抽象介面,不要依賴於具體實現。即面向介面程式...
設計模式 七大原則
懂了設計模式,你就懂了物件導向分析和設計 ooa d 的精要.編寫軟體的過程,面臨 耦合性 內聚性 維護性 可擴充套件性 重用性 靈活性 等各方面的挑戰。設計模式就是為了解決這些問題 程式設計時遵循的原則,各種設計模式的基礎 注意事項和細節 那麼問題來了,如何正確使用繼承?答案 黎克特制替換原則 基...
設計模式七大原則
編寫軟體過程中,程式設計師面臨著來自耦合性,內聚性以及可維護性,可擴充套件性,重用性,靈活性等多方面的挑戰,設計模式是為了讓程式具有更好以下特性 1 重用性 即 相同功能的 不用多次編寫 3 可擴充套件性 即 當需要增加新的功能時,非常的方便,稱為可維護 4 可靠性 即 當我們增加新的功能後,對原來...