zoukankan      html  css  js  c++  java
  • 01-05.开闭原则(Open Closed Principle)

    1、基本介绍
    (1)开闭原则(Open Closed Principle)是编程中最基础、最重要的设计原则,前面的各种原则最终都是为了实现这个开闭原则,也就是为了达到开闭的一个效果。
    (2)那什么是开闭原则呢?我们来看这句话:一个软件实体如:类、模块和函数应该对扩展开放(站在对提供方来说),对修改关闭(站在对使用方来说)。用抽象来构建框架,用实现来扩展细节。(换句话说,当我们有一个功能扩展时,肯定要去修改或增加代码,但是增加一个类或增加一个功能以后,原先使用方的代码并不做修改。这个就是指开闭原则核心含义。
    (3)当软件需要变化时,尽量通过扩展软件实体的行为(简单来理解就是方法)来实现变化,而不是通过修改已有的代码来实现变化。
    (4)编程中遵循其它原则,以及使用设计模式的目的就是遵循开闭原则。

    2、应用案例,如下步骤:
    我们先来看一个代码,要求根据下面UML类图实现一个画图形的功能,如下:

     

    分析:
    可以看到有一个GraphicEditor(图形编辑程序,用来画图的)类,在右边提示说,他有一行代码,根据不同的类型实现不同的图形绘制。然后GraphicEditor会依赖Retangle(矩形)、Shape(形状、图形)和Circle(圆形)而Retangle(矩形)与Circle(圆形)继承于Shape(形状、图形),所以说Shape(形状、图形)应该设计是抽象类或接口(后面的案例会说明为什么设计成抽象类或接口)。

     (1)违反开闭原则案例

    (2) 满足开闭原则案例

     (3)最后

    如果你需要转载请说出原文出处,个人总结有不足之处请留言指出稍候修正,当然也欢迎大家一起探讨,欢迎你加入996.ICU……

  • 相关阅读:
    面板数据及其基本模型
    markdwon编辑公式入门
    向纳什大神致敬
    我和我的祖国观后感
    少年的你观后感
    特征选择学习笔记1(综述)
    时间序列学习笔记1
    《绿皮书》观后感
    《美丽心灵》观后感
    pycharm跨目录调用文件
  • 原文地址:https://www.cnblogs.com/pickrecalled/p/14100298.html
Copyright © 2011-2022 走看看