對擴充套件開放,對修改關閉。
在程式需要進行拓展的時候,不能去修改原有的**,實現乙個熱插拔的效果。簡言之,是為了使程式的擴充套件性好,易於維護和公升級。
想要達到這樣的效果,我們需要使用介面和抽象類。
因為抽象靈活性好,適應性廣,只要抽象的合理,可以基本保持軟體架構的穩定。
而軟體中易變的細節可以從抽象派生來的實現類來進行擴充套件,當軟體需要發生變化時,只需要根據需求重新派生乙個實現類來擴充套件就可以了。
下面以搜狗輸入法
的**為例介紹開閉原則的應用。
【例】搜狗輸入法
的**設計。
* @description: 抽象**類
*/public abstract class abstractskin
package com.itheima.principles.demo1;
/** * @version v1.0
* @classname: defaultskin
* @description: 預設**類
*/public class defaultskin extends abstractskin
}
package com.itheima.principles.demo1;
/** * @version v1.0
* @classname: heimaskin
* @description: 黑馬**
*/public class heimaskin extends abstractskin
}
package com.itheima.principles.demo1;
/** * @version v1.0
* @classname: sougouinput
* @description: 搜狗輸入法
* @author: dym
*/public class sougouinput
public void display()
}
package com.itheima.principles.demo1;
/** * @version v1.0
* @classname: client
* @description: todo(一句話描述該類的功能)
* @author: dym
*/public class client
}
軟體設計原則 開 閉原則 OCP
設計乙個模組時,應當使該模組在不被修改的前提下被擴充套件,即可在不必修改源 的情況下改變該模組的行為。陳述 軟體實體 類 模組 函式等 應該是可以擴充套件的,同時還可以是不必修改的,更確切的說,函式實體應該 1 對擴充套件是開放的 當應用的需求變化時,我們可以對模組進行擴充套件,使其具有滿足改變的新...
1 1軟體設計原則 開閉原則
開閉原則 開閉原則,對於擴充套件是開放的,對於修改是關閉。原則 1 通過介面或抽象類約束擴充套件,對擴充套件進行邊界限定 2 引數型別 引用物件盡量使用介面或者抽象類,而不是實現類 3 抽象層盡量保持穩定,一旦確定就不允許修改 4 將相同的變化封裝在乙個介面或抽象類中 5 將不同的變化封裝到不同的介...
設計模式 軟體設計原則 開閉原則
在軟體開發中,為了提高軟體系統的可維護性和可復用性,增加軟體的可擴充套件性和靈活性,程式設計師要盡量根據6條原則來開發程式,從而提高軟體開發效率 節約軟體開發成本和維護成本。對擴充套件開放,對修改關閉。在程式需要進行拓展的時候,不能去修改原有的 實現乙個熱插拔的效果。簡言之,是為了使程式的擴充套件性...