設計模式-開閉原則
基本介紹
1) 開閉原則(Open Closed Principle)是程式設計中最基礎、最重要的設計原則
2) 一個軟體實體如類,模組和函式應該對擴充套件開放(對提供方),對修改關閉(對使用 方)。用抽象構建框架,用實現擴充套件細節。
3) 當軟體需要變化時,儘量通過擴充套件軟體實體的行為來實現變化,而不是通過修改已 有的程式碼來實現變化。
4) 程式設計中遵循其它原則,以及使用設計模式的目的就是遵循開閉原則。
優點
1) 優點是比較好理解,簡單易操作。
2) 缺點是違反了設計模式的ocp原則,即對擴充套件開放(提供方),對修改關閉(使用方)。 即當我們給類增加新功能的時候,儘量不修改程式碼,或者儘可能少修改程式碼.
例
在設計類的時候儘量不要用if 分支判斷去例項化型別
定義一個基礎抽象類,定義一個抽象公共方法,比如畫圖類,定義一個draw方法,一種判斷形狀的變數
有1.三角形,2.圓形,3.正方形三個類,就繼承這基礎抽象類,分別實現draw方法和判斷形狀變數
然後可以定義一個工廠類,定義一個tool工具類,工具類 型別為 基礎抽象類 型別,
在工具類的實現
傳入一個1代表三角形,
獲取形狀變數進行判斷
在例項化這個三角形類
然後需要一個五角星型別
建立並繼承基礎類,實現draw方法,構造方法更改形狀變數
然後在去工廠類在加一條if判斷
在進行測試
這種耦合性非常高
改正
將三角形圓形正方形 例項化放入tool入參即可列印
然後需要一個五角星型別
只需要建立一個五角星類,繼承並實現這個方法即可,對程式碼耦合性很低
總結
能擴充套件寫就擴充套件,少改以前的程式碼達到效果,在建立設計的時候就要考慮到位