六大设计原则之「开闭原则(Open Close Principle)」

六大设计原则

  1. 单一职责原则
  2. 里式替换原则
  3. 依赖倒置原则
  4. 接口隔离原则
  5. 迪米特原则
  6. 开闭原则

开闭原则
定义: Software entities like classes, modules and functions should be open for extension but closed for modifications. 一个软件实体应该对扩展开放,对修改关闭。

定义解析:一个软件实体应该通过扩展来实现变化,而不是通过修改已有的代码来实现变化。

简介
开闭原则(OCP,Open Close Principle)是面向对象设计中“可复用设计”的基石,是面向对象设计中最重要的原则之一,其它很多的设计原则都是实现开闭原则的一种手段。

"开-闭"原则是说,在设计模块的时候,应当使这个模块在不被修改的前提下,进行扩展。举例如下,孙悟空大闹天宫时,玉帝给了一个弼马温的职位。在天庭的职位体系中,扩展一个弼马温的职位并未修改天庭中其他职位系统。
在这里插入图片描述
在这个例子中,“文武仙卿”就是各个职位的一个抽象,在不改变抽象层的情况下,扩展了实现层。从而满足了“开-闭”原则。

抽象化是实现“开-闭”原则的关键,不允许更改的是抽象层,允许扩展的是实现层。

在Java中可以定义出一个一劳永逸,不在修改的抽象设计。此设计允许有无穷无尽的行为在实现层被实现。在任何扩展的情况下,使得抽象层不被修改。

系统设计满足“开闭”原则的好处:

1.使变化中的系统有一定的适应性和灵活性。通过扩展已有的软件系统,提供新的功能,满足新的需求。
2.使变化中的软件系统有一定的稳定性和延续性。已有的软件模块,特别是抽象层模块不能修改。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值