首页 > 其他 > 详细

开闭原则

时间:2020-03-21 22:12:32      阅读:58      评论:0      收藏:0      [点我收藏+]

开闭原则

开闭原则是面向对象的可复用设计的第一块基石,它是最重要的面向对象设计原则。开闭原 则由Bertrand Meyer于1988年提出的,

其定义如下:开闭原则(Open-Closed Principle, OCP):一个软件实体应当对扩展开放,对修改关闭。开闭原则中“开”,是指对于组件功能的扩展是开放的,是允许对其进行功能扩展的;开闭原则中“闭”,是指对于原有代码的修改是封闭的,即不应该修改原

有的代码。 在开闭原则的定义中,软件实体可以指一个软件模块、一个由多个类组成的局部结构或一个 独立的类。

 

开闭原则的好处

 

开闭原则是一个最基本的原则,另外五个原则都是开闭原则的具体形态,是指导设计的工具和方法,而开闭原则才是精神领袖.

  1. 开闭原则有利于进行单元测试
  2. 开闭原则可以提高复用性
  3. 开闭原则可以提高可维护性
  4. 面向对象开发的要求

如何使用开闭原则

抽象约束

 

抽象是对一组事物的通用描述,没有具体的实现,也就表示它可以有非常多的可能性,可以跟随需求的变化而变化。因此,通过接口或抽象类可以约束一组可能变化的行为,并且能够实现对扩展开放,其包含三层含义:

  • 通过接口或抽象类约束扩散,对扩展进行边界限定,不允许出现在接口或抽象类中不存在的public方法。
  • 参数类型,引用对象尽量使用接口或抽象类,而不是实现类,这主要是实现里氏替换原则的一个要求
  • 抽象层尽量保持稳定,一旦确定就不要修改。

 

元数据(metadata)控件模块行为

 

元数据: 用来描述环境和数据的数据,通俗的说就是配置参数.

通过扩展一个子类,修改配置文件,完成了业务的变化,也是框架的好处。

 

制定项目章程

在一个团队中,建立项目章程是非常重要的,因为章程是所有人员都必须遵守的约定,对项目来说,约定优于配置。这比通过接口或抽象类进行约束效率更高,而扩展性一点也没有减少。

 

 

封装变化

 

对变化封装包含两层含义:
(1) 将相同的变化封装到一个接口或抽象类中
(2) 将不同的变化封装到不同的接口或抽象类中,不应该有两个不同的变化出现在同一个接口或抽象类中。
封装变化,也就是受保护的变化,找出预计有变化或不稳定的点,我们为这些变化点创建稳定的接口。


 

 

 

 

 

 

 

 

 




开闭原则

原文:https://www.cnblogs.com/tangleiblogs/p/12542093.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!