您的位置:首页 > 职场人生

第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文件,都无需改动。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: