设计模式之6大原则(6)开闭原则
转载
开闭原则中“开”,是指对于组件功能的扩展是开放的,是同意对其进行功能扩展的;开闭原则中“闭”,是指对于原有代码的改动是封闭的,即不应该改动原有的代码。
遵循开闭原则设计出的模块具有两个主要特征:
(1)对于扩展是开放的(Open for extension)。这意味着模块的行为是能够扩展的。当应用的需求改变时,我们能够对模块进行扩展,使其具有满足那些改变的新行为。也就是说,我们能够改变模块的功能。
(2)对于修改是关闭的(Closed for modification)。对模块行为进行扩展时,不必修改模块的源码或者二进制代码。模块的二进制可运行版本号,不管是可链接的库、DLL或者.EXE文件,都无需修改。
实现开闭原则的关键就在于“抽象”。把系统的全部可能的行为抽象成一个抽象底层,这个抽象底层规定出全部的详细实现必须提供的方法的特征。作为系统设计的抽象层,要预见全部可能的扩展,从而使得在不论什么扩展情况下,系统的抽象底层不需改动;同一时候,因为能够从抽象底层导出一个或多个新的详细实现,能够改变系统的行为,因此系统设计对扩展是开放的。
我们在软件开发的过程中,一直都是提倡需求导向的。这就要求我们在设计的时候,要很清楚地了解用户需求,推断需求中包括的可能的变化,从而明白在什么情况下使用开闭原则。
勃兰特·梅耶一般被觉得一旦完毕,一个类的实现仅仅应该因错误而改动,新的或者改变的特性应该通过新建不同的类实现。新建的类能够通过继承的方式来重用原类的代码。衍生的子类能够或不能够拥有和原类同样的接口。梅耶的定义提倡实现继承。详细实现能够通过继承方式来重用,可是接口规格不必如此。已存在的实现对于改动是封闭的,可是新的实现不必实现原有的接口。
在20世纪90年代,开闭原则被广泛的又一次定义因为抽象化接口的使用,在这中间实现能够被改变,多种实现能够被创建,而且多态化的替换不同的实现。相比梅耶的使用方式,多态开闭原则的定义倡导对抽象基类的继承。接口规约能够通过继承来重用,可是实现不必重用。已存在的接口对于改动是封闭的,而且新的实现必须实现那个接口。
本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
上一篇:Gmail POP3设置
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
大模型作业6作业
-
设计模式之6大原则
设计模式之6大原则一、设计模式6大原则 名称解释0、单一职责原则(SRP)就一个类而言,应该仅有一个引起它变化的原因。
设计模式 编程 扩展 文档 接口隔离原则 -
【设计模式】七大原则之“开闭原则”
开闭原则(Open Closed Principle)是编程中最基础、最重要的设计原则一个软件实体如类,模块和函数应该对扩
设计模式 开闭原则 java 使用方 ide -
Java设计模式6大原则
设计模式的6大原则,单一职责原则,开放封闭原则,里式替换原则,依赖导致原则,迪米特原则和接口隔离原则。
Java设计模式 父类 子类 ide -
设计模式的6大原则
。 单一职责原则是实现高内聚、低耦合的指导方针,它是最简单
开闭原则 抽象类 接口隔离原则 -
设计模式七大原则——开闭原则
1.什么是开闭原则?开闭原则(Open Closed Principle)是编程中最基础、最重要的设计原则。 一个软件实体如类,模块和函数
开闭原则 设计模式 java System 使用方