Java中的“开-闭”原则

来源:互联网 发布:传奇db数据负重是哪项 编辑:程序博客网 时间:2024/06/05 08:14
正如牛顿三大定律在经典力学中的位置一样,开-闭原则是面向对象的可复用设计(Object Oriented Design 或OOD)的基石。
什么是开-闭原则?
开-闭原则(Open-Closed Principle,简称OCP),其经典定义是:Software entitiesshould be open for extension , but closed formodification。翻译为:一个软件实体应当对扩展开放,对修改关闭。即在设计一个模块的时候,应该使这个模块可以在不被修改的前提下被扩展。换言之,应当可以在不必修改源代码的情况下改变这个模块的行为。
满足开-闭原则,可以给一个软件系统两个无可比拟的优越性:
(1)通过扩展已有的软件系统,可以提供新的行为,以满足对软件的新需求,使变化中的软件系统有一定的适应性和灵活性。
(2)已有的软件模块,特别是最重要的抽象层模块不能再修改,这就使变化中的软件系统有一定的稳定性和延续性。
具备这两点的软件系统是一个在高层次上实现了复用的系统,也是一个易于维护的系统。

在开-闭原则中,不允许修改的是抽象的类,或者接口。允许扩展的是具体的实现类,抽象类和接口在“开-闭”原则中扮演着极其重要的角色,在设计过程中既要预知可能变化的需求,又要预见所有可能已知的扩展。
 

Java中的“开-闭”原则



原创粉丝点击