開放-封閉原則(the open-closed principle,簡稱ocp)或者叫開-閉原則,意思是說軟體實體(類、模組、函式等等)應該可以擴充套件,但是不可修改。即對於擴充套件時開放的(open for extension),對於更改是關閉的(closed for modification)。
這樣的設計可以實現面對需求的不斷改變卻可以保持相對穩定,從而使得系統可以在第乙個版本以後不斷推出新版本。
開放-封閉原則的意思就是說,你設計的時候,時刻需要考慮,盡量讓這個類是足夠好,寫好了就不要去修改了,如果新的需求來,我們增加一些類就完事了,原來的**能不動就不動。但是絕對的修改封閉是不可能的。無論模組是多麼的『關閉』,都會存在一些無法對之封閉的變化。既然不可能完全封閉,設計人員必須對於他設計的模組應該對那種變化封閉做出選擇。他必須先猜測出最有可能發生的變化種類,然後構造抽象來隔離這些變化。
我們希望的是在開發工作展開不久就知道可能發生的變化。查明可能發生的變化並等待的時間越長,要建立正確的抽象就越困難。
開放-封閉原則是物件導向的核心所在。遵循這個原則可以帶來物件導向技術所聲稱的巨大好處,也就是可維護、可擴充套件、可服用、靈活性好。開發人員應該僅對程式中呈現出頻繁變化的那些部分作出抽象,然而,對於應用程式中的每個部分都刻意地進行抽象同樣不是乙個好主意。拒絕不成熟的抽象個抽象本身一樣重要。
開放封閉原則
開放封閉原則 開放封閉原則 就是軟體實體 類 模組 函式等等 應該可以擴充套件,但是不可修改。這個原則有兩個特徵,乙個是說對於擴充套件是開放的,另乙個是說對於更改時封閉的。軟實體包括 1 專案或軟體產品中按照一定的邏輯規則劃分的模組。2 抽象和類。3 方法。無論模組是多麼的封閉,都會存在一些無法對之...
開放封閉原則
開放封閉原則對於擴充套件是開放的,對於修改是封閉的。所謂開放封閉原則就是軟體實體應該對外擴充套件開發,而對修改封閉。開放封閉原則是所有物件導向原則的核心,軟體設計本身所追求的目標就是封裝變化,降低耦合,而開放封閉原則正是對這一目標最直接的體現。例如之前部落格的計算程式中,起初如果我們想要乙個加法的程...
開放 封閉原則
前言 閱讀本章,ocp原則是第一章單一職責原則的基礎上的延伸。對於構建乙個實用的穩定的類十分重要,無論使用何種設計模式,ocp原則都是我們劃分抽象類的基礎。模組可以操作乙個抽象體。由於模組依賴於乙個固定的抽象體。所以它對於更改可以是關閉的。同時,通過從這個抽象體派生,可以擴充套件此模組的行為。是核心...