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

    1.定义

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

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

    2.分析

    为什么要使用开闭原则?

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

    不使用开闭原则的弊端?

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

    3.实例

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

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

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

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

  • 相关阅读:
    GoF23:工厂模式(Factory)
    CSS
    HTML
    JSP基础学习
    JSTL标签
    Jsoup
    Centos7下tomcat关闭异常问题
    剑指Offer_#18_删除链表的节点
    剑指Offer_#17_打印从1到最大的n位数
    剑指Offer_#16_数值的整数次方
  • 原文地址:https://www.cnblogs.com/windpoplar/p/12724986.html
Copyright © 2011-2022 走看看