第4章 考研求职两不误---开放-封闭原则(设计模式六大原则(6):开闭原则)
2014-05-13 17:10
381 查看
1.开放封闭原则(The Open-Closeed PrinciPle 简称OCP):是说软件实体(类,模块,函数等等)应该可以扩展,但是不能修改。
2.无论模块是多么的封闭,都会存在一些无法对之封闭的变化。既然不可能完全封闭,设计人员必须对他设计的模块应该对哪种变化封闭做出选择,它必须先猜测最有可能发生变化的种类,然后构造抽象来隔离那些变化。
3.在我们最初编写代码时,假设变化不会发生。当变化发生时,我们就创建抽象来隔离以后发生的同类变化。
4.面对需求,对程序的改动是通过增加代码来进行的,而不是更改现有的代码。
5.我们希望的是在开发工作开展不久就知道可能发生的变化。查明可能发生的变化所等待的时间越长,要创建正确的抽象就越困难。
6.开放封闭原则是面向对象设计的核心所在。遵循这个原则可以带来面向对象技术所声称的巨大好处,也就是可维护,可扩展,可复用,灵活性好。开发人员印尼改仅对程序中呈现出的频繁变化的那些部分做出抽象,然而,对于应用程序中的每个部分都刻意地进行抽象同样不是一个好主意。拒绝不成熟的抽象和抽象本身一样重要。
开闭原则(OCP)是面向对象设计中“可复用设计”的基石,是面向对象设计中最重要的原则之一,其它很多的设计原则都是实现开闭原则的一种手段。
遵循开闭原则设计出的模块具有两个主要特征:
(1)对于扩展是开放的(Open for extension)。这意味着模块的行为是可以扩展的。当应用的需求改变时,我们可以对模块进行扩展,使其具有满足那些改变的新行为。也就是说,我们可以改变模块的功能。
(2)对于修改是关闭的(Closed for modification)。对模块行为进行扩展时,不必改动模块的源代码或者二进制代码。模块的二进制可执行版本,无论是可链接的库、DLL或者.EXE文件,都无需改动。
2.无论模块是多么的封闭,都会存在一些无法对之封闭的变化。既然不可能完全封闭,设计人员必须对他设计的模块应该对哪种变化封闭做出选择,它必须先猜测最有可能发生变化的种类,然后构造抽象来隔离那些变化。
3.在我们最初编写代码时,假设变化不会发生。当变化发生时,我们就创建抽象来隔离以后发生的同类变化。
4.面对需求,对程序的改动是通过增加代码来进行的,而不是更改现有的代码。
5.我们希望的是在开发工作开展不久就知道可能发生的变化。查明可能发生的变化所等待的时间越长,要创建正确的抽象就越困难。
6.开放封闭原则是面向对象设计的核心所在。遵循这个原则可以带来面向对象技术所声称的巨大好处,也就是可维护,可扩展,可复用,灵活性好。开发人员印尼改仅对程序中呈现出的频繁变化的那些部分做出抽象,然而,对于应用程序中的每个部分都刻意地进行抽象同样不是一个好主意。拒绝不成熟的抽象和抽象本身一样重要。
开闭原则(OCP)是面向对象设计中“可复用设计”的基石,是面向对象设计中最重要的原则之一,其它很多的设计原则都是实现开闭原则的一种手段。
遵循开闭原则设计出的模块具有两个主要特征:
(1)对于扩展是开放的(Open for extension)。这意味着模块的行为是可以扩展的。当应用的需求改变时,我们可以对模块进行扩展,使其具有满足那些改变的新行为。也就是说,我们可以改变模块的功能。
(2)对于修改是关闭的(Closed for modification)。对模块行为进行扩展时,不必改动模块的源代码或者二进制代码。模块的二进制可执行版本,无论是可链接的库、DLL或者.EXE文件,都无需改动。
相关文章推荐
- 设计模式六大原则例子(六)-- 开放封闭原则(OCP)例子
- 第四章 考研求职两不误-开放-封闭原则
- 第四篇:设计模式六大原则: 一国两制 -- 开放封闭原则
- 第4章 考研求职两不误 开放-封闭原则 大话设计模式
- 《大话设计模式》之--第4章 考研求职两不误----开放-封闭原则
- 设计模式六大原则(2):开放封闭原则
- 开放封闭原则、 设计模式六大原则(3):依赖倒置原则
- 设计模式六大原则--开放-封闭原则
- 设计模式六大原则——开放封闭原则
- 设计模式六大原则: 一国两制 -- 开放封闭原则
- 设计模式六大原则(六)-- 开放封闭原则 ( OCP )
- 《大话设计模式》--考研求职两不误--开放-封闭原则<The Open-Closeed Principle>(4)
- 设计模式六大原则-单一职责原则、开放封闭原则、依赖倒转原则、里氏代换原则、迪米特法则、合成/聚合复用原则
- 《大话设计模式》之--第4章 考研求职两不误----开放-封闭原则
- 设计模式六大原则(6):开闭原则
- 设计模式六大原则(6)——开闭原则
- 设计模式六大原则(6):开闭原则
- 设计模式—开放-封闭原则
- 设计模式六大原则之--开闭原则(OCP)
- 设计模式学习--面向对象的5条设计原则之开放封闭原则--OCP