zoukankan      html  css  js  c++  java
  • 设计模式--六大原则

    参考

    1. 单一职责

    定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。

    • 可以降低类的复杂度,一个类只负责一项职责,逻辑简单
    • 提高类的可读性,提高系统的可维护性
    • 变更引起的风险降低,变更是必然的

    2. 里氏代换原则

    定义:所有引用基类的地方必须能透明地使用其子类的对象,也就是说子类可以扩展父类的功能,但不能改变父类原有的功能。

    • 当使用继承时,遵循里氏替换原则。子类继承父类时,除添加新的方法完成新增功能外,尽量不要重写/重载父类的方法

    3. 依赖倒置原则

    定义:高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。

    • 低层模块尽量都要有抽象类或接口,或者两者都有
    • 变量的声明类型尽量是抽象类或接口
    • 使用继承时遵循里氏替换原则

    4. 接口隔离原则

    定义:客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。

    • 接口尽量小,但是要有限度。对接口进行细化可以提高程序设计灵活性 是不挣的事实,但是如果过小,则会造成接口数量过多,使设计复杂化。所以一定要适度
    • 为依赖接口的类定制服务,只暴露给调用的类它需要的方法,它不需要的方法则隐藏起来。只有专注地为一个模块提供定制服务,才能建立最小的依赖关系。
    • 提高内聚,减少对外交互。使接口用最少的方法去完成最多的事情。

    5. 迪米特法则(最少知道原则)

    定义:一个对象应该对其他对象保持最少的了解。

    • 高内聚,类的方法和属性能用私有的就尽量私有化。

    6. 开闭原则

    定义:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。

    • 当软件需求变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化。
  • 相关阅读:
    禁止使用U盘和移动硬盘
    Linux下Red5安装和配置
    ORACLE 10g下载地址
    常挂在美国人嘴边的最酷口语
    关于oracle中spfile和pfile的一个实验
    nginx搭建流媒体服务器
    powerDesigner 把name项添加到注释(comment),完美方案!
    memcached全面剖析–PDF总结篇
    PD 导出SQL语句
    本地读取虚拟机系统中的资源
  • 原文地址:https://www.cnblogs.com/yueyun00/p/10531495.html
Copyright © 2011-2022 走看看