美文网首页Design Pattern
2, 开闭原则(Open Closed Principle)

2, 开闭原则(Open Closed Principle)

作者: logger_info | 来源:发表于2020-05-12 09:43 被阅读0次

    concept

    Software entities (classes, modules, functions) should be open for extension but closed for modification
    软件实体(包括类、模块、功能等)应该对扩展开放,但是对修改关闭()


    analyse

    1. 相对于其他的几种设计原则来讲,开闭原则的思想就像一个纲领【用抽象构建框架,用实现扩展细节】,其他几大原则更像在这个纲领的之上进行拓展
    2. 在设计一个模块的时候,应对使这个模块可以在【不被修改】的前提下被扩展,换言之,应对可以【不必修改源代码】的情况下【改变这个模块的行为】。
    3. 利用接口或抽象类抽象出系统的抽象层,抽象层不变,利用实现层进行扩展;
    4. 对可变性的封装,将可变的元素封装起来,防止改变扩散到整个应用;
    5. 继承是用来封装可变性的,一般的继承层次不要超过两层;
    6. 注意控制封装的粒度,不要将两种可变性封装到一起;

    example


    相关文章

      网友评论

        本文标题:2, 开闭原则(Open Closed Principle)

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