開放封閉原則

2021-07-09 19:12:49 字數 757 閱讀 4991

開放封閉原則

開放封閉原則:就是軟體實體(類、模組、函式等等),應該可以擴充套件,但是不可修改。

這個原則有兩個特徵,乙個是說對於擴充套件是開放的,另乙個是說對於更改時封閉的。

軟實體包括:

1、專案或軟體產品中按照一定的邏輯規則劃分的模組。

2、抽象和類。

3、方法。

無論模組是多麼的封閉,都會存在一些無法對之封閉的變化,既然不可能完全封閉,設計人員必須對於他設計的模組,應該對哪種變化封閉做出選擇,必須先猜測出最有可能發生的變化種類,然後構造抽象來隔離那些變化。

在我們最初編寫**時,假設變化不會發生,當變化發生時,我們就建立抽象來隔離以後發生的同類變化。

面對需求,對程式的改動是通過增加新**進行的,而不是更改現有的**。

我們希望的是在開發工作展開不就就知道可能發生的變化,查明可能發生的變化所等待的時間越長,要建立正確的抽象就越困難。

開放封閉原則——是物件導向設計的核心所在,遵循這個原則可以帶來物件導向技術所聲稱的巨大好處,也就是可維護,可擴充套件,可復用,靈活性好,開發人員應該僅對程式中呈現出頻繁變化的那些部分做出抽象,然而,對於應用程式中的每個部分,都刻意的進行抽象,同樣不是乙個好主意,拒絕不成熟的抽象和抽象本身一樣重要。

開放封閉原則對擴充套件開放,對修改關閉,並不意味著不做任何修改,底層模組的變更,必然要有高層模組進行耦合,否則就是乙個孤立無意義的**片段。

我們可以把變化分為如下三種:

1、邏輯變化。

2、子模組變化。

3、可見檢視變化。

開放 封閉原則

開放 封閉原則 the open closed principle,簡稱ocp 或者叫開 閉原則,意思是說軟體實體 類 模組 函式等等 應該可以擴充套件,但是不可修改。即對於擴充套件時開放的 open for extension 對於更改是關閉的 closed for modification 這樣...

開放封閉原則

開放封閉原則對於擴充套件是開放的,對於修改是封閉的。所謂開放封閉原則就是軟體實體應該對外擴充套件開發,而對修改封閉。開放封閉原則是所有物件導向原則的核心,軟體設計本身所追求的目標就是封裝變化,降低耦合,而開放封閉原則正是對這一目標最直接的體現。例如之前部落格的計算程式中,起初如果我們想要乙個加法的程...

開放 封閉原則

前言 閱讀本章,ocp原則是第一章單一職責原則的基礎上的延伸。對於構建乙個實用的穩定的類十分重要,無論使用何種設計模式,ocp原則都是我們劃分抽象類的基礎。模組可以操作乙個抽象體。由於模組依賴於乙個固定的抽象體。所以它對於更改可以是關閉的。同時,通過從這個抽象體派生,可以擴充套件此模組的行為。是核心...