zoukankan      html  css  js  c++  java
  • 开放封闭原则

    视频链接:https://v.youku.com/v_show/id_XNDYwNTk4OTA1Ng==.html

    1、为什么需要开闭原则?

    软件开发过程中最不稳定的因素-----需求
    需求再软件开发过程中时时刻刻都在发生变化,如何灵活应对变化是软件结构设计中最重要也是最困难的一个问题。
    好的设计带来了极大了灵活性,不好的设计则充斥着僵化的臭味。所以我们要遵循——开放封闭原则

    2、开闭原则的定义

    开闭原则的定义: 一个软件实体,如类、模块和函数应该对扩展开放,对修改关闭.即一个软件实体应该通过扩展来实现变化,而不是通过修改已有的代码来实现变化.

    3、开放封闭原则的意义和核心思想

    开放封闭原则是所有面向对象原则的核心。软件本身追求的目标就是封装变化、降低耦合。
    而开放封闭原则正是对这一目标的最直接体现。

    核心思想:
    软件实体应该是可扩展,而不可修改的。也就是说,对扩展是开放的,而对修改是封闭的。

    4、开闭原则的好处

    开闭原则是一个最基本的原则,另外五个原则都是开闭原则的具体形态,是指导设计的工具和方法,而开闭原则才是精神领袖.

    1. 开闭原则有利于进行单元测试
    2. 开闭原则可以提高复用性
    3. 开闭原则可以提高可维护性
    4. 面向对象开发的要求

    5、如何使用开闭原则

    1.抽象约束

    1. 通过接口或抽象类约束扩展,对扩展进行边界限定,不允许出现在接口或抽象类中不存在的public方法
    2. 参数类型、引用对象尽量使用接口或抽象类,而不是实现类
    3. 抽象层尽量保持稳定,一旦确定不允许修改接口或抽象类一旦定义,应立即执行,不能有修改接口的想法,除非是彻底的大返工

    2.元数据控制模块行为

    元数据: 用来描述环境和数据的数据,通俗的说就是配置参数.

    通过扩展一个子类,修改配置文件,完成了业务的变化,也是框架的好处

    3.制定项目章程

    4.封装变化

    对变化的封装包含两层含义:

    1. 将相同的变化封装到一个接口或抽象类中
    2. 将不同的变化封装到不同的接口或抽象类中
  • 相关阅读:
    Sum Root to Leaf Numbers 解答
    459. Repeated Substring Pattern
    71. Simplify Path
    89. Gray Code
    73. Set Matrix Zeroes
    297. Serialize and Deserialize Binary Tree
    449. Serialize and Deserialize BST
    451. Sort Characters By Frequency
    165. Compare Version Numbers
    447. Number of Boomerangs
  • 原文地址:https://www.cnblogs.com/leo1111/p/12574430.html
Copyright © 2011-2022 走看看