設計模式 開放 封閉原則(OCP)

2021-07-03 14:31:47 字數 567 閱讀 4708

特點:對於擴充套件是開發的,對於修改是封閉的。

打個比方:比如彈性工作,每天必須保證8個小時的工作時間,但是何時上班何時下班卻可變化。

簡單的說,設計的時候要考慮讓類足夠好,寫好了就不要去改動,如果有新需求增加一些類,原來的類能不動則不動。(不可能完全封閉)

樣的設計才能面對需求的改變卻可以保持相對穩定,從而使系統可以在第乙個版本以後不推出新版 ?

何時應對變化?

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

即將發生的事情無法**,但是發生小變化的時就考慮應對更大變化的可能。,等到變化發生的時候直接採取行動。

以計算器為例:

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

開放封閉原則(OCP)

開放封閉原則 軟體實體 類,模板,函式等 應該是可以擴充套件的,但是不可以修改。舉個栗子,加入我們要設計乙個系統,在專案啟動的時候我們不可能一下子把所有的需求全部考慮到。我們所需要做的就是多擴充套件,少修改!在我們最初編寫 的時候,假設變化不會發生。當變化發生的時候,我們就建立抽象來隔離以後發生的同...

OCP開放封閉原則

軟體實體 類 模組 函式等 應該是可以擴充套件的,但是不可修改。如果正確的應用了ocp原則,那麼 以後在進行同樣的改動時,就只需要新增新的 不必修改已經正常執行的 1.對於擴充套件是開放的 這意味著模組的行為是可以擴充套件的。當應用的需求改變時,我們可以對模組進行擴充套件,使其具有滿足那些改變的新行...

開放 封閉原則(OCP)

幾乎所有的系統,都不可能一成不變,只要是需求,就一定是會變化的。如何在面對需求的變化的時候,設計的軟體可以相對容易修改,不至於新的需求一來,就把程式推到重來。怎麼樣的設計才能面對需求的改變卻可以保持相對穩定,從而使得系統可以在第乙個版本以後不斷推出新的版本。這就是ocp原則要告訴我們的東西。面對需求...