美文网首页
04开闭原则

04开闭原则

作者: 努力要长大的树泱泱 | 来源:发表于2018-08-29 11:16 被阅读0次

指的是对扩展开放,对修改关闭。

通过扩展已有对软件系统,可以提供新对行为,以满足对软件对新需求,使变化中对软件具有一定的适应性和灵活性;

已有的软件系统,特别是重要的抽象层模块不能再修改,使得变化中的软件系统具有一定的稳定性和延续性;

抽象化是关键

规定了所有具体类必须提供的特征方法,这个抽象层预见了所有可能的扩展,因此任何扩展情况都不会修改,从而满足了开闭原则的对修改关闭。

同时从抽象类导出不同的具体类,改变系统的行为,因此系统的设计对扩展是开放对,满足了开闭原则的对扩展开放。

对可变性对封装原则

继承应该被看作封装变化的方法,而不是从一般性生成特殊对象的方法;

一种可变性不应当与另一种可变性混合在一起,也就是继承一般不会超过两层,否则就意味着将两种不同的可变性混合在一起了;

里氏代换原则:任何出现基类的地方,子类一定可以出现。里氏代换原则是实现抽象化的具体步骤的规范。

依赖倒转原则:应该依赖于抽象,而不是依赖于具体实现。

合成/聚合复用原则:应尽量使用合成/聚合,而不是继承实现复用的目的。

迪米特法则原则:一个软件实体应尽可能与其他实体发生少的相互作用。

接口隔离原则:为客户端尽可能提供小的单独的接口,而不是大的总的接口。

一个设计模式对什么样的变化进行开放,带来的代价是什么?

使用多态改造条件转移的讨论:

如果条件转移实现了某些商业逻辑的可变性,那么将此种可变性封装起来,则符合开闭原则。若条件转移没有涉及到重要的商务逻辑,或者不会随时间而变化,也没有任何可扩展性,那就没有任何有意义的可变性,这时将条件转移改变为多态则是一种滥用。

相关文章

  • 04开闭原则

    指的是对扩展开放,对修改关闭。 通过扩展已有对软件系统,可以提供新对行为,以满足对软件对新需求,使变化中对软件具有...

  • 04. 开闭原则

    标准定义 开闭原则(Open-Closed Principle, OCP)的定义如下: 软件中的对象(类,模块,函...

  • 2022-01-02 设计原则--开闭原则与里式替换总结

    开闭原则(OCP) 开闭原则(OCP)开闭原则的英文全称是 Open Closed Principle,简写为 O...

  • OOP程序设计规则

    开闭原则(Open-Closed Principle,OCP) 开闭原则是这七大设计原则中最常见、最基本的开闭原则...

  • 开闭原则

    个人博客原文:开闭原则 设计模式六大原则之六:开闭原则。 简介 姓名 :开闭原则 英文名 :Open Closed...

  • 开闭原则

    开闭原则 开闭原则定义 Software entities like classes,modules and fu...

  • 面向对象设计原则(二)开闭原则

    面向对象设计原则之开闭原则 开闭原则是面向对象的可复用设计的第一块基石,它是最重要的面向对象设计原则。 开闭原则的...

  • iOS开闭原则和替换原则

    什么叫开闭原则? 六大模式设计原则之一的开闭原则是比较重要的,开闭原则其实就是“抽象构建框架,实现扩展细节...

  • 设计原则-开闭原则

    开闭原则(OCP) 开闭原则的定义 开闭原则是java世界里最基础的设计原则,它指导我们如何建立一个稳定,灵活的系...

  • 开闭原则(OCP)

    开闭原则的定义 开闭原则是java世界里最基础的设计原则,它指导我们如何建立一个稳定,灵活的系统。开闭原则定义如下...

网友评论

      本文标题:04开闭原则

      本文链接:https://www.haomeiwen.com/subject/ixvubftx.html