【設計模式】開閉原則

以下內容來自《Java設計模式》

1 開閉原則

開閉原則是面向對象的可複用設計的第一塊基石,它是最重要的面向對象設計原則。開閉原則由Bertrand Meyer於1988年提出,其定義如下:

開閉原則:軟件實體應當對擴展開放,對修改關閉。

在開閉原則的定義中,軟件實體可以指一個軟件模塊,一個由多個類組成的局部結構或一個獨立的類。開閉原則就是指軟件實體應儘量在不修改原有代碼的情況下進行擴展。

任何軟件都需要面臨一個很重要的問題,即它們的需求會隨時間的推移而發生變化。當軟件系統需要面對新的需求時應該儘量保證系統的設計框架是穩定的。如果一個軟件設計符合開閉原則,那麼可以非常方便地對系統進行擴展,而且在擴展時無須修改現有代碼,使得軟件系統在擁有適應性和靈活性的同時具備較好的穩定性和延續性。隨着軟件規模越來越大,軟件壽命越來越長,軟件維護成本越來越高,設計滿足開閉原則的軟件系統也變得越來越重要。

爲了滿足開閉原則,需要對系統進行抽象化設計,抽象化是開閉原則的關鍵。在Java、C#等編程語言中可以爲系統定義一個相對穩定的抽象層,而降不同的實現行爲移至具體的實現層中完成。在很多面向對象編程語言中都提供了接口、抽象類等機制,可以通過它們定義系統的抽象層,再通過具體類來進行擴展。如果需要修改系統的行爲,無須對抽象層進行任何改動,只需要增加新的具體類來實現新的業務功能即可,實現在不修改已有代碼的基礎上擴展系統的功能,達到開閉原則的要求。

 
 
 

2 設計模式的七大原則

【設計模式】單一職責原則
【設計模式】開閉原則

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章