主要內容:
(提供方)擴充套件開放,(使用方)修改關閉
盡量通過擴充套件實現變化,而不是修改,避免對原來的系統造成威脅
例子
class
graphiceditor()
else
if(s.m_type ==2)
}public
void
drawrectangle
(shape r)
public
void
drawcircle
(shape r)
}class
shape
class
rectangle
extends
shape
}class
circle
extends
shape
}
上面例子,如果新增加乙個新的圖形,那麼使用方(graphiceditor)需要新增許多內容。
class
graphiceditor()
public
void
drawcircle
(shape r)
}abstract
class
shape
class
rectangle
extends
shape
public
void
draw
(shape r)
}class
circle
extends
shape
public
void
draw
(shape r)
}
設計模式七大原則之開閉原則
簡介 開閉原則是程式設計過程中最基礎 最重要的原則,前面講到的幾個原則,也都是為了實現開閉原則。那麼他是如何開放,又是如何關閉的呢?例項展示 這是乙個用於繪圖的類 使用方 class graphiceditor else if shape.my type 2 else if shape.my typ...
設計模式七大原則之開閉原則
開閉原則是程式設計中最基礎 最重要的設計原則。乙個軟體實體 類 模組 方法等 應該對擴充套件新功能開放,對修改原有功能關閉。用抽象構建框架,用實現擴充套件細節。當軟體需要新增乙個功能時,盡量在原有 基礎上進行擴充套件,而不是修改原有 以書店銷售書籍為例來說明什麼是開閉原則 public inte c...
設計模式七大原則之開閉原則
開閉原則 open close principle 簡稱ocp原則,指的是對擴充套件開放,對修改關閉.3.1 類圖 這裡主要就是通過graphic類可以作出不同的形狀,但是值得關注的是,這裡是通過控制abstractshape實現類的type屬性作出不同的形狀.當我們要擴充套件矩形時,雖然擴充套件開...