OO的五大原則

2021-08-29 04:16:17 字數 1029 閱讀 2506

oo的五大原則是指srp、ocp、lsp、dip、isp

1. srp(single responsibility principle 單一職責原則)

單一職責很容易理解,所謂單一職責,就是乙個設計元素只做一件事。

2. ocp (open close principle 開閉原則)

一句話:「closed for modification; open for extension」——「對變更關閉;對擴充套件開放」。

3. lsp(liskov substitution principle 黎克特制替換原則)

子類應當可以替換父類並出現在父類能夠出現的任何地方。這個原則是liskov於2023年提出的設計原則。它同樣可以從bertrand meyer 的dbc (design by contract) 的概念推出。我們以學生為例,夜校生為學生的子類,因此在任何學生可以出現的地方,夜校生均可出現。這個例子有些牽強,乙個能夠反映這個原則的例子時圓和橢圓,圓是橢圓的乙個特殊子類。因此任何出現橢圓的地方,圓均可以出現。但反過來就可能行不通。運用替換原則時,我們盡量把類b設計為抽象類或者介面,讓c類繼承類b(介面b)並實現操作a和操作b,執行時,類c例項替換b,這樣我們即可進行新類的擴充套件(繼承類b或介面b),同時無須對類a進行修改。

4.dip(dependence inversion principle 依賴倒置原則 )

依賴倒置(dependence inversion principle)原則講的是:要依賴於抽象,不要依賴於具體。 簡單的說,依賴倒置原則要求客戶端依賴於抽象耦合。原則表述: 抽象不應當依賴於細節;細節應當依賴於抽象; 要針對介面程式設計,不針對實現程式設計。

5.isp(inte***ce segregation principle 介面分隔原則)

採用多個與特定客戶類有關的介面比採用乙個通用的涵蓋多個業務方法的介面要好。isp原則是另外乙個支援諸如com等元件化的使能技術。缺少isp,元件、類的可用性和移植性將大打折扣。這個原則的本質相當簡單。如果你擁有乙個針對多個客戶的類,為每乙個客戶建立特定業務介面,然後使該客戶類繼承多個特定業務介面將比直接載入客戶所需所有方法有效。

OO設計五大原則

oo的五大原則是指srp ocp lsp dip isp 1.srp single responsibility principle 單一職責原則 單一職責很容易理解,所謂單一職責,就是乙個設計元素只做一件事。srp 原則的核心含義是只能讓乙個類有且只有乙個職責,永遠不要讓乙個類存在多個改變的理由。...

設計模式五大原則

1 單一職責 不論是在設計類,介面還是方法,單一職責都會處處體現,單一職責的定義 我們把職責定義為系統變化的原因。所有在定 義類,介面,方法的時候。定義完以後再去想一想是不能多於乙個的動機去改變這個類,介面,方法。如果答案是肯定的,說明定義的類,介面,方法則多於乙個職 責。故違背單一職責,遇到這種情...

物件導向 五大原則

沒有規矩,不成方圓!物件導向亦是如此!五大原則讓物件導向技術更加規範,讓我們深入了解一下!就乙個類而言,應該僅有乙個引起它變化的原因。是盡量能讓類的變化減少,乙個類做好自己的本職工作就好了,別操太多的心,從而減少職責耦合!防止設計時產生一些不必要的問題!類的職責分離是我們在程式設計的時候,需要去考慮...