[OOD设计原则]二. 开闭原则(OCP)
2013-06-11 23:07
253 查看
二. 开闭原则(OCP)
开闭原则的核心思想就是:一个对象对扩展开放,对修改关闭。它的英文缩写是OCP,英文全称是Open for Extension,Closed for Modification。
开闭原则的意思就是:对类的改动是通过增加代码进行的,而不是改动现有的代码。也就是说,软件开发人员一旦写出了可以运行的代码,就不应该去改变它,而是要保证它能一直运行下去,如何才能做到这一点呢?这就需要借助于抽象和多态,即把可能变化的内容抽象出来,从而使抽象的部分是相对稳定的,而具体的实现层则是可以改变和扩展的。
例如: 有一个需要解析bmp文件和png文件, 并提取图像数据的功能.
图像文件解析类使用bmp解析类和png解析类这两个类对图像进行解析, 假设现在要增加解析jpg文件的功能, 我们的设计应该是增加一个jpg解析类即可. 而不应该去修改bmp解析类或者png解析类来满足新的功能.
其实也很容易理解: 通常我们在开发的时候, 遇到新的功能增加, 我们也是尽量避免修改原来的代码, 而是增加代码.
因为原来的代码已经测试过和运行过是没有问题的, 如果新增的功能时改变了这些代码, 可能会改出问题而且你需要重新测试.
这个原则在函数设计, 类设计等等都适用.
开闭原则的核心思想就是:一个对象对扩展开放,对修改关闭。它的英文缩写是OCP,英文全称是Open for Extension,Closed for Modification。
开闭原则的意思就是:对类的改动是通过增加代码进行的,而不是改动现有的代码。也就是说,软件开发人员一旦写出了可以运行的代码,就不应该去改变它,而是要保证它能一直运行下去,如何才能做到这一点呢?这就需要借助于抽象和多态,即把可能变化的内容抽象出来,从而使抽象的部分是相对稳定的,而具体的实现层则是可以改变和扩展的。
例如: 有一个需要解析bmp文件和png文件, 并提取图像数据的功能.
图像文件解析类使用bmp解析类和png解析类这两个类对图像进行解析, 假设现在要增加解析jpg文件的功能, 我们的设计应该是增加一个jpg解析类即可. 而不应该去修改bmp解析类或者png解析类来满足新的功能.
其实也很容易理解: 通常我们在开发的时候, 遇到新的功能增加, 我们也是尽量避免修改原来的代码, 而是增加代码.
因为原来的代码已经测试过和运行过是没有问题的, 如果新增的功能时改变了这些代码, 可能会改出问题而且你需要重新测试.
这个原则在函数设计, 类设计等等都适用.
相关文章推荐
- OOD设计原则之开闭原则(OCP)
- OOD设计原则之开闭原则(OCP)
- OOD三个设计原则:SRP(单一职责原则)、OCP(开闭原则)、LSP(Liskov替换原则)
- OOD设计原则之开闭原则(OCP)
- OOD设计原则之开闭原则(OCP)
- OOD设计原则之开闭原则(OCP)
- 设计模式之六大原则——开闭原则(OCP)
- [设计模式原则]开闭原则(Open - ClosedPrinciple, OCP)
- 设计模式值六大原则——开闭原则(OCP)
- 设计模式之六大原则——开闭原则(OCP)
- 设计模式六大原则之--开闭原则(OCP)
- OOD设计原则之OCP、LSP
- 开闭原则OCP(Open-Close Principle)被称作是OOD的基石,是OOD最重要的原则之一。---- 设计模式之禅读书笔记
- 设计模式之六大原则——开闭原则(OCP)
- 设计模式之六大原则——开闭原则(OCP)
- 设计模式六大原则——开闭原则(OCP,Open Close Principle)
- 开闭原则 OCP,设计原则
- 设计模式6大原则:开闭原则(OCP)
- 面向对象设计原则二:开闭原则(OCP)