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)

  • 相关阅读:
    Alpine linux如何配置和管理自定义服务
    nginx仅允许域名访问禁止IP访问
    解决influxdb的log日志输出位置
    python配置文件INI/TOML/YAML/ENV的区别
    window获取本机所有IP
    学习本来的样子
    yum/编译安装Zabbix 5.0 LTS
    redis问题优化
    解决nginx同端口强制跳转https配置ssl证书问题
    通过DNS验证自动申请nginx证书
  • 原文地址:https://www.cnblogs.com/HZL2017/p/13413052.html
Copyright © 2011-2022 走看看