Table of Contents
hide
開放/封閉原則 是軟件開發世界中最基本的設計原則。 它指導我們如何構建一個穩定而靈活的系統。
定義:
類、模塊和函數等軟件實體應該對擴展開放,對修改關閉。
開閉原則的含義是應該擴展一個軟件實體來實現改變,而不是通過修改現有代碼來實現改變。
開閉原則是限制軟件實體未來事物當前開發和設計的原則。
注:開閉原則是對擴展開放,對修改關閉。這並不意味著不會進行任何修改。低級模塊的變化必須與高級模塊耦合,否則將是一個孤立的、無意義的代碼片段。
開閉原則的重要性:
- 開閉原則對測試的影響
開啟和關閉的原則是保持原始測試代碼仍然能夠正常運行,我們只需要測試擴展代碼。
- 開閉原理可以提高複用性
在 面向對象設計中,所有邏輯都是由原子邏輯組合而成,而不是在一個類中獨立實現一個業務邏輯。只有這樣,代碼才能被重用。粒度越小,被復用的可能性就越大。
- 開閉原則可以提高可維護性
- 面向對象的開發需求
如何使用開合原理:
一、通過接口或抽像類限制擴展,限制邊界的擴展,不允許接口或抽像類中不存在的公共方法;
其次,盡量使用接口或抽像類作為參數類型和引用對象,而不是實現類;
第三,抽象層要盡量保持穩定,一旦確定,就不允許修改。
變化的封裝有兩層含義:
首先,將相同的更改封裝到接口或抽像類中;
其次,將不同的變化封裝到不同的接口或抽像類中。兩個不同的變化不應該出現在同一個接口或抽像類中。