zoukankan      html  css  js  c++  java
  • 软件设计的大旗——六大设计原则

    软件设计的大旗——六大设计原则

    参考:《设计模式之禅》

    一、开闭原则(Open Close Principle)

    (1)开闭原则统领其他几个原则,是大旗中最闪耀的图标,因此将其放在第一位;
    (2)核心思想:对扩展开放,对修改封闭;
    (3)详细解释:针对业务持续更新带来的变化,在软件实体上体现的,应该是通过扩展来实现变化,而不是修改已有代码来适配变化,否则很可能会变更原有逻辑,破坏整个架构;
    (4)举例:抽象约束,通过接口或者抽象类约束扩展,对扩展边界进行限定;例如在底层驱动开发时,需要将同一类器件抽象成一类功能性器件,对上层提供统一的稳定的功能性接口;如果需要新增一种器件,直接添加一套新的驱动即可,不必修改上层的功能性接口,做到对器件变化的扩展开放,对功能接口的修改封闭,不至于将底层的修改影响到业务层面。

    二、单一职责(Single Responsibility Principle)

    (1)容易理解,且备受争议的原则;
    (2)核心思想:接口一定要做到单一职责,类的设计尽量做到只有一个原因引起变化;
    (3)优点:类的复杂性降低,职责定义明确;可读性提高;可维护性提高;变更引起的风险降低

    三、里氏替换(Liskov Substitution Principle)

    (1)针对继承而言,

    四、依赖倒置(Dependence Inversion Principle)

    (1)很重要的一个,

    五、接口隔离(Interface Inversion Principle)

    (1)

    六、迪米特法则(Law of Demeter)

    (1)

  • 相关阅读:
    日期格式
    典型的三行两列居中高度自适应div+css布局
    转javascript倒计时例子
    javascript encode64 decode64
    【转】Linux下 zip 和 unzip的用法
    【转】matlab reshape使用
    【转】MySQL修改root密码的各种方法整理
    【转】汇编语言里 eax, ebx, ecx, edx, esi, edi, ebp, esp
    [转]ExtJS xtype class对照表
    vc 字符串转时间,并取时间差
  • 原文地址:https://www.cnblogs.com/HZL2017/p/13413052.html
Copyright © 2011-2022 走看看