• 设计原则20170710


    一、单一职责原则

    一个类或一个函数只做一件事情

    二、里氏替换原则

    所有父类出现的地方,子类都可以替换(在类中调用其他类务必要使用父类或者接口)

    采用里氏替换原则的目的就是增强程序的健壮性

    三、依赖倒置原则

    也就是面向接口编程

    四、接口隔离原则

    接口隔离原则是对接口进行规范约束,尽量使用多个专门的接口(专门的接口是指:提供给每个模块的都应该是单一的接口,提供给几个模块就应该有几个接口),而不是建立一个庞大的臃肿的接口

    五、迪米特原则

    要求类与类之间尽可能没有耦合关系(低耦合)。

    具体要求:

    1.一个类应该对自己需要耦合或调用的类知道的最少(即提供方的public方法尽量少)。只需知道你(被耦合或调用的类)提供的public方法,至于你内部如何复杂和我没关系,我也不关心。

    2.一个类只和朋友类交流,

    朋友类定义:出现在成员变量,方法的输入输出参数中的类称为成员朋友类,而出现在方法内部的类不属于朋友类

    六、开闭原则(最基础也是最核心的原则,前面五种原则都是开闭原则的具体形态)

    1.含义:(模块、抽象、类和方法等软件实体)对扩展开放,对修改关闭

    扩展含义:(一般通过子类或实现接口)扩展

    修改含义:修改已有的代码

    2.开闭原则可以提高复用性,也是面向对象的要求

    3.具体如何应用开闭原则:

    一般通过实现接口或继承抽象类(继承实现类也可以,通过子类覆写方式)来扩展,不修改已有的代码,软件实体上层保持不变,这样风险就小了

    1).抽象约束

    通过接口或者抽象类约束一组可能变化的行为,实现对扩展开放

    包含三层含义:

    I.通过接口或者抽象类约束扩展,不允许出现在接口或抽象类中不存在的public函数

    II.参数类型,引用对象尽量使用接口或抽象类,而不是实现类

    III.抽象层尽量保持稳定,一旦确定即不允许修改

    要实现对扩展开发,首要的条件就是抽象约束

    2).封装变化

    I.将相同的变化封装到一个接口或抽象类中

    II.将不同的变化封装到不同的接口或抽象类中,不应该有两个不同的变化出现在同一个接口或抽象类中。

    后续讲的23个设计模式都是从各个不同的角度对变化进行封装的。

    3).使用配置参数控制程序行为,减少重复开发

    上述对六大设计原则的阐述应该已经很清晰,用专门的例子进而讲解设计原则应当不需要了,而且在实际运用或者具体大的例子中更能体现,所以在后续设计模式中会再次说明这些设计原则

  • 相关阅读:
    阅读心得10:《京东咚咚架构演进 》
    hadoop beginning
    ubuntu docker
    Ubuntu学习——第一篇
    flexsim diary
    apollo 3.0 硬件系统
    这是一份详细的Apollo自动驾驶平台上手指南
    详解百度Apollo感知技术、高精地图和小度车载系统
    Apollo 2.5推基于动态的实时相对地图解决方案
    Apollo在功能安全方面的探索
  • 原文地址:https://www.cnblogs.com/yuweifeng/p/7147311.html
Copyright © 2020-2023  润新知