zoukankan      html  css  js  c++  java
  • 设计原则-OCP开闭原则

    1.定义

    设计良好的类或者模块应该对扩展开发,对修改关闭。

    添加一个新的功能应该是,在已有代码基础上扩展代码(新增模块、类、方法等),而非修改已有代码(修改模块、类、方法等)。

    2.分析

    为什么要使用开闭原则?

    使用开闭原则能够限制对现有代码的修改,这会降低引入新的BUG的风险,其实我们在对原有代码修正Bug时也会引入更多BUG,所以,如果原有代码的Bug不是很致命,或者可以通过拓展增加代码来避免,那么尽量不要破坏封装。

    不使用开闭原则的弊端?

    对一个程序的单一的改变导致依赖模块的级联式改变。(一发动全身)

    3.实例

    一个例子,用手开门和关门。

     如果有新的需求,需要增加手开抽屉和关抽屉的功能。对于代码方面,需要增加一个Drawer类,同时修改Hand类。

     遵循OCP开闭原则的例子,手开门和关门依赖于一个接口,具体的实现类实现这个接口。

     当需要增加手开冰箱和关冰箱时,冰箱类实现这个接口,不需要修改原有Hand类和接口。

  • 相关阅读:
    JS写游戏
    为运算表达式设计优先级
    原子的数量
    二叉搜索树的范围和
    所有可能的满二叉树
    有效的井字游戏
    站在对象模型的尖端
    执行期语意学
    构造、析构、拷贝语意学
    [CSP-S模拟测试]:序列(二分答案+树状数组)
  • 原文地址:https://www.cnblogs.com/windpoplar/p/12724986.html
Copyright © 2011-2022 走看看