設計模式之開放 封閉原則學習

2021-06-06 05:27:41 字數 875 閱讀 5810

開放封閉原則:軟體實體應該可以擴充套件,但是不可以修改。它有兩個特性:一,對擴充套件是開放的,二:對修改是封閉的。開放即可以操作,關閉即不可以操作。在設計模式中,這種不能修改卻可以擴充套件的思想,就是開放封閉原則、

我們在做任何系統時,不要奢望系統一開始需求就確定。這是不現實也是不科學的。既然需求是變化的,那麼如何在需求變化時,軟體相對容易修改,不至於說新的需求一來整個程式就得推到重來。怎樣的需求才能面對需求的更改,卻可以保持相對的穩定,從而使系統在推出第乙個版本後不斷地推出新的版本呢。開放

—封閉模式給了我們答案。設計軟體要容易維護又不容易出問題的最好方法就是:多擴充套件少修改。

開放封閉的意思是說:我們在設計類的時候,時刻要考慮如何使類設計的足夠好,寫好之後就不再修改了。如果需求有變只需要增加其他的類就可以了。原來的**能不動則不動。

但是絕對的不修改是不可能的。無論模組多麼封閉,都會存在一些與之無法封閉的變化,既然不可能是完全變化封閉,設計人員必須對他設計的模組要應對哪些變化做出選擇。他必須先抽象出變化的種類。然後構造抽象類來隔離那些變化。

無論考慮多麼周全,總會遇到意料之外的變化,此時採取:遇到變化立即行動的原則。。在最初設計時假設不會發生變化,當變化發生時,就立即建立抽象來隔離以後發生的同類變化。例如在建立加法程式的時候,建立乙個加法類,就很容易實現要求。如果後來又要寫乙個減法類,增加功能,就需要對原來的加法類進行修改,這就違背了開放

—封閉原則。於是就考慮採取重構程式,抽象出乙個運算的基類,然後派生出加法和減法運算。既滿足了要求,又使程式具備可擴充套件性。以後如果要新增乘除法,就可以在不修改原有類的基礎上很容易的構造出來。

開放封閉原則是物件導向思想的核心所在。遵循這個原則可以帶來物件導向技術聲稱的巨大好處。即可維護、可擴充套件、可復用、靈活性好。設計人員應該針對程式中頻發變化的那些部分做出抽象。所以抽象的能力也非常重要。

設計模式學習之開放 封閉原則

開放 封閉原則,是說軟體實體 類 模組 函式等等 應該可以擴充套件,但是不可以修改。這個原則有兩個特徵 1 對於擴充套件是開放的 2 對於更改是封閉的。但是,在軟體設計中,絕對的修改關閉是不可能的。無論模組是多麼的封閉,都會存在一些無法對之封閉的變化。既然不可能完全封閉,設計人員必須對於他設計的模組...

設計模式之開放封閉原則

親愛的博友們,感謝來到darren的部落格 最近一直很忙,今天抽空開了一下開放封閉原則,再這裡和各位分享一下學習心得 開放封閉原則 軟體實體 類,模組,函式 等等,對於擴充套件是開放的,對於修改是封閉的。對於程式設計而言,怎麼的設計才能面對需求的改變卻可以保持相對的穩定,從而可以使得系統可以再第乙個...

設計模式之開放封閉原則

public inte ce ibankprocess public class depositprocess ibankprocess public class withdrawprocess ibankprocess public class transferprocess ibankproce...