重拾設計模式——六大設計原則之開閉原則

重拾設計模式——六大設計原則之開閉原則

前言

一個穩定的系統設計,肯定要遵守好的設計原則。在OO design當中,正有這樣的 solid(堅固的)設計原則。他們分別是:

  • S : Single Responsibility Principle
  • O : Open Closed Principle
  • L : Liskov Substitution Principle
  • L : Law of Demeter
  • I : Interface Segregation Principle
  • D : Dependence Inversion Principle

開閉原則

定義

Software entities like classes,modules and functions should be open for extension but closed for modifications.

一個軟件實體如類、模塊和函數應該對擴展開放,對修改關閉。

What

什麼是軟件實體?

  • 項目或軟件產品中按照一定的邏輯規則劃分的模塊。
  • 抽象和類。
  • 方法。

Why

爲什麼需要擴展?

一個軟件產品只要在生命期內,都會發生變化,既然變化是一個既定的事實,我們就應該在設計時儘量適應這些變化,以提高項目的穩定性和靈活性,真正實現“擁抱變化”。

爲什麼要採用開閉原則?

開閉原則是最基礎的一個原則,是面向對象設計原則的精神領袖,其他的原則可以說是他的具體實現。

  • 提高複用性
  • 提高可維護性
  • 不影響已有的測試單元
  • 面向對象設計的需要

How

如何使用開閉原則?

  • 抽象約束
  • 元數據(metadata)控制模塊行爲
  • 制定項目章程
  • 封裝變化

變化的種類:

  • 邏輯變化
  • 子模塊變化
  • 可見視圖變化
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章