開放封閉原則

2021-08-01 15:07:39 字數 716 閱讀 3895

開放封閉原則對於擴充套件是開放的,對於修改是封閉的。所謂開放封閉原則就是軟體實體應該對外擴充套件開發,而對修改封閉。開放封閉原則是所有物件導向原則的核心,軟體設計本身所追求的目標就是封裝變化,降低耦合,而開放封閉原則正是對這一目標最直接的體現。

例如之前部落格的計算程式中,起初如果我們想要乙個加法的程式,就可以很快在主函式的類中完成,這個時候同剛開始的程式比較沒有任何的變化發生,但這個時候,再新增乙個減法的程式,就發現,增加功能需要去修改原來的類,這就違背了開放封閉原則,所以應該考慮重構程式,增加乙個抽象的運算類,通過一些物件導向的手段,如繼承,多型等來隔離具體的加法,減法與主函式類耦合,需求依然可以滿足,還能應對變化。這時又要新增乘除法的功能,就不需要去修改主函式類以及加減法的類,而是增加乘除法的子類就可。即面對需求,對程式的改動是通過增加新**進行的,而不是更改現有的**。這就是「開放封閉原則」的精神所在。

我們在做任何系統的時候,都不要指望系統一開始就需求確定,這是不現實也是不科學的想法,既然需求是一定會變化的,因此只要保持開放封閉原則就可以在面對需求變化時,設計的**或者軟體可以保持相對容易修改,保持相對穩定,不至於新的需求到來,整個推倒重做。

遵循這個原則可以帶來物件導向技術中聲稱的可維護,可修改,可復用,靈活性好這些好處。不要對應用程式中的每個部分都刻意的進行抽象,應該對應用程式中出現頻繁變化的那部分構造抽象。

開放 封閉原則

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

開放封閉原則

開放封閉原則 開放封閉原則 就是軟體實體 類 模組 函式等等 應該可以擴充套件,但是不可修改。這個原則有兩個特徵,乙個是說對於擴充套件是開放的,另乙個是說對於更改時封閉的。軟實體包括 1 專案或軟體產品中按照一定的邏輯規則劃分的模組。2 抽象和類。3 方法。無論模組是多麼的封閉,都會存在一些無法對之...

開放 封閉原則

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