天天看點

面向對象設計模式原則01 開閉原則(OCP)

開閉原則(Open Closed Principle,OCP)的定義是:軟體實體應當對(提供者的)擴充開放,對(使用者的)修改關閉。

開閉原則的含義是:當應用的需求改變時,在不修改軟體實體的源代碼或者二進制代碼的前提下,可以擴充子產品的功能,使其滿足新的需求。

開閉原則是面向對象程式設計的終極目标,它使軟體實體擁有一定的适應性和靈活性的同時具備穩定性和延續性。

1、可以提高軟體測試的效率:隻需要對新擴充的代碼進行測試即可,原有的代碼由于未曾改變而可以不必反複測試。

2、可以提高代碼的可複用性:粒度越小,被複用的可能性就越大;在面向對象的程式設計中,根據原子和抽象程式設計可以提高代碼的可複用性。

3、可以提高軟體的可維護性:遵守開閉原則的軟體,其穩定性高和延續性強,進而易于擴充和維護。

設計模式的其他各項原則和其他各種設計模式,都是對開閉原則的展現。

可以通過“抽象限制、封裝變化”來實作開閉原則,即通過接口或者抽象類為軟體實體定義一個相對穩定的抽象層,而将相同的可變因素封裝在相同的具體實作類中。

繼續閱讀