软件设计原则--开放封闭原则

开放封闭原则是软件设计的重要原则,它提倡系统对扩展开放,对修改关闭。遵循此原则,系统的基础抽象层保持稳定,新增功能通过扩展实现层来达成,降低耦合性和提高稳定性。实现方式包括使用抽象类和接口来规定具体类的特征,并在需求变更时增加新代码,而非修改现有代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

面向对象软件设计遵循的原则

1.开放闭合原则

全称:“Open-Closed Principle” 开放-封闭原则

说明:对扩展开放,对修改关闭。

优点:按照OCP原则设计出来的系统,降低了程序各部分之间的耦合性,其适应性、灵活性、稳定性都比较好。当已有软件系统需要增加新的功能时,不需要对作为系统基础的抽象层进行修改,只需要在原有基础上附加新的模块就能实现所需要添加的功能。增加的新模块对原有的模块完全没有影响或影响很小,这样就无须为原有模块进行重新测试。

如何实现“开-闭”原则

在面向对象设计中,不允许更改的是系统的抽象层,而允许扩展的是系统的实现层。换言之,定义一个一劳永逸的抽象设计层,允许尽可能多的行为在实现层被实现。

解决问题关键在于抽象化,抽象化是面向对象设计的第一个核心本质。

对一个事物抽象化,实质上是在概括归纳总结它的本质。抽象让我们抓住最最重要的东西,从更高一层去思考。这降低了思考的复杂度,我们不用同时考虑那么多的东西。换言之,我们封装了事物的本质,看不到任何细节。

在面向对象编程中,通过抽象类及接口,规定了具体类的特征作为抽象层,相对稳定,不需更改,从而满足“对修改关闭”;而从抽象类导出的具体类可以改变系统的行为,从而满足“对扩展开放”。对实体进行扩展时,不必改动软件的源代码或者二进制代码。关键在于抽象。

在面对需求时,对程序的改动是通过增加新的代码,而不是更改现有的代码


笔记链接: http://pan.baidu.com/s/1cDP0tC
架构图:http://pan.baidu.com/s/1c22pVjy
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值