OOD設計原則之開閉原則(OCP)

2021-07-23 00:01:40 字數 505 閱讀 5021

開閉原則ocp(open-close-principle)在維基百科的定義:在物件導向程式設計中,開閉原則規定「軟體中的物件(類,模組,函式等等)應該對擴充套件是開放的,但是對於修改是封閉的」,這意味著乙個實體是允許在不改變他的源**的前提下變更他的行為。

勃蘭特丶梅耶一般被認為是最早提出開閉原則這一術語的人,2023年在物件導向軟體構造中給出,這一想法認為一旦完成,乙個類的實現只應該因錯誤而修改,新的或者改變的特性應該通過新建不同的類實現。新建的類可以通過繼承的方式來重用原類的**。衍生的子類可以或不可以擁有和原類相同的結果。

梅耶的定義是提倡繼承。具體實現通過繼承方式來重用,但是介面規格不必如此。已存在的實現對於修改是封閉的,但是新的實現不必實現原有的介面。

在20世紀90年代,開閉原則被廣泛的重新定義由於抽象化介面的使用,在這中間實現可以被改變,多種實現可以被建立,並且多型化的替換不同的實現。

相比梅耶的使用方式,多型開閉原則的定義倡導對抽象基類的繼承。介面規約可以通過繼承來重用,但是實現不必重用。已存在的介面對於修改是封閉的。

OOD設計原則之開閉原則(OCP)

開閉原則ocp open close principle 被稱作是ood的基石,是ood最重要的原則之一。這個原則由大師bertrand meyer在1988年提出 汗,那個時候恐怕國內還很少人知道oo,甚至計算機為何物 software entities should be open for ex...

OOD設計原則之開放封閉原則(OCP)

size medium 開閉原則ocp open close principle 被稱作是ood的基石,是ood最重要的原則之一。這個原則由大師bertrand meyer在1988年提出 汗,那個時候恐怕國內還很少人知道oo,甚至計算機為何物 software entities should be...

OCP開閉原則

bertrand meyer提出此原則 模組應對擴充套件開放,對更改關閉 遵循開 閉原則的設計有兩個主要特性 1 對擴充套件開放 這意味著模組的行為可擴充套件。當需求改變時,可對模組進行擴充套件,使其具有滿足那些改變的新行為,使軟體具有適應性和靈活性。2 對更改關閉 對模組行為進行擴充套件時,不應改...