物件導向 開放 封閉法則(OCP)

2021-05-05 01:44:58 字數 769 閱讀 8984

介紹一下開放-封閉法則(ocp)。(下面內容來自網路文件)

■開放-

封閉法則認為我們應該試圖去設計出永遠也不需要改變的模組。 ■

我們可以新增新**來擴充套件系統的行為。我們不能對已有的**進行修改。 ■

符合ocp

的模組需滿足兩個標準: ▲

可擴充套件,即「對擴充套件是開放的」(

open for extension

)-模組的行為可以被擴充套件,以需要滿足新的需求。 ▲

不可更改,即「對更改是封閉的」(

closed for modification

)-模組的源**是不允許進行改動的。 ■

我們能如何去做呢?物件導向的幾大特徵綜合運用。 ▲

抽象(abstraction)

▲多型(

polymorphism)

▲繼承(

inheritance)

▲介面(

inte***ce)

■乙個軟體系統的所有模組不可能都滿足

ocp,但是我們應該努力最小化這些不滿足

ocp的模組數量。 ■

開放-封閉法則是

oo設計的真正核心。 ■

符合該法則便意味著最高等級的復用性(

reusability

)和可維護性(

maintainability)。

要高質量開發專案時,開放-封閉原則個人感覺是非常重要的,特別是在原型開發模式中,對後期開發或維護都能大大降低學習門檻,降低學習成本,也就最終降低了開發維護成本。

物件導向設計原則 開放封閉原則 OCP

顧 名思義,既開放又封閉,對擴充套件是開放的,對更改是封閉的!擴充套件即擴充套件現行的模組,當我們軟體的實際應用發生改變時,出現新的需求,就需要我們對模組進行擴充套件,使其能夠滿足新的需求!更改封閉即是在我們對模組進行擴充套件時,勿需對源有程式 和dll進行修改或重新編譯檔案!這個原則對我們在設計類...

物件導向設計模式之開放封閉原則 OCP

對修改關閉 軟體實體 類,模組,方法等 應該是可以擴充套件的,但是是不可修改的 為了使程式的擴充套件性好,易於維護和公升級 滿足ocp軟體的優點 其它important 原始設計 class graphiceditor public void drawcircle circle r public v...

開放封閉原版OCP

軟體實體 類 模組 函式等等 應該是可以擴充套件的,但是應該是不可修改的。說明 開放封閉原則是指對擴充套件開放,當應用的需求更改時,可以對模組進行擴充套件 封閉是指對更改是封閉的,不改動原有的列庫。關鍵 抽象 建立出固定卻能夠描述一組任意個可能行為的抽象體,抽象體為抽象基類。模組操作乙個抽象體,由於...