美文网首页
软件设计的六大原则

软件设计的六大原则

作者: Tinyspot | 来源:发表于2023-07-21 18:46 被阅读0次

1. 软件设计原则

1.1 软件设计质量标准

  • 可复用性
  • 可读性
  • 可靠性
  • 可维护性

1.2 GOF (Gang of Four)

主要基于面向对象设计原则
(1) 对接口编程而不是对实现编程
(2) 优先使用对象组合而不是继承

面向对象设计可类比活字印刷术,可维护、可扩展、可复用和灵活性好

2. SOLID Principles

  • Single Responsibility Principle
  • Open/Closed Principle
  • Liskov Substitution Principle
  • Interface Segregation Principle
  • Dependency Inversion Principle

2.1 单一职责原则 (SRP)

  • 就一个类而言,应该仅有一个引起它变化的原因

生活中的示例:
电子阅读器与手机,职责分离

2.2 开闭原则 (OCP)

  • The Open-Closeed Principle,OCP
  • 对扩展开放,对修改关闭
  • 实现开闭原则的核心思想就是面向抽象编程

软件实体(类、模块、函数等)应该可以扩展,但是不可修改(例如:继承父类扩展需要的方法)

2.3 里氏代换原则 (LSP)

  • 里氏代换原则(Liskov Substitution Principle, LSP)
  • 子类型必须能够替换掉它们的父类型
  • 里氏替换原则是开闭原则的具体实现手段之一,它的核心原理是抽象

2.4 接口隔离原则 (ISP)

  • 接口隔离原则(Interface Segregation Principle,ISP)
  • 接口隔离原则指用多个专门的接口,而不使用单一的总接口,客户端不应该依赖它不需要的接口

设计接口时的注意事项:
(1) 一个类对另一个类的依赖应该建立在最小接口上
(2) 建立单一接口,不要建立庞大臃肿的接口
(3) 尽量细化接口,接口中的方法尽量少

2.5 依赖倒置原则 (DIP)

  • Dependence Inversion Principle, DIP
  • (1) 高层模块不应该依赖低层模块,二者都应该依赖抽象
  • (2) 抽象不应该依赖细节,细节应该依赖抽象

通俗的说,就是要针对接口编程,不要对实现编程

2.6 迪米特法则 (LoD)

  • 迪米特法则又叫最少知道原则(Least Knowledge Principle,LKP),指一个对象应该对其他对象保持最少的了解,尽量降低类与类之间的耦合

3. 生活中示例

(1) 单一职责原则,修电脑时内存坏了,不应该成为更换CPU的理由,它们各自的职责是明确的。
(2) 开放-封闭原则,内存不够只要插槽足够就可以添加,硬盘不够可以用移动硬盘等;PC的接口是有限的,所以扩展有限,软件系统设计得好,却可以无限地扩展
(3) 依赖倒置原则,无论主板、CPU、内存、硬盘都是在针对接口设计的,如果针对实现来设计,内存就要对应到具体的某个品牌的主板,那就会出现换内存需要把主板也换了

相关文章

  • C++设计模式(1)

    本文预览: 设计模式简介软件设计固有的复杂性如何解决复杂性软件设计的目标 设计模式六大原则 组件协作模式模板方法策...

  • 设计模式

    设计模式六大原则[设计模式六大原则(1):单一职责原则][设计模式六大原则(2):里氏替换原则][设计模式六大原则...

  • 软件设计原则讲解,昭昭在目

    一、UML 图 不要觉得奇怪为什么不讲软件设计原则而说到了 UML 图,因为软件设计原则和软件设计模式中你讲到最多...

  • 设计模式之设计原则

    软件设计原则(Software design principles) 开闭原则: 定义:一...

  • SOLID 软件设计原则

    什么是软件设计原则? 软件设计原则是一组帮助我们避开不良设计的指导方针。这些设计原则是由 Robert Marti...

  • 设计模式-六大原则

    转载自 设计模式六大原则 目录:- 设计模式六大原则(1):单一职责原则- 设计模式六大原则(2):里氏替换原则-...

  • 设计模式六大原则

    目录: 设计模式六大原则(1):单一职责原则 设计模式六大原则(2):里氏替换原则 设计模式六大原则(3):依赖倒...

  • 设计模式6大原则

    目录: 设计模式六大原则(1):单一职责原则 设计模式六大原则(2):里氏替换原则 设计模式六大原则(3):依赖倒...

  • 设计原则之6大原则

    目录:设计模式六大原则(1):单一职责原则 设计模式六大原则(2):里氏替换原则 设计模式六大原则(3):依赖倒置...

  • 软件设计-六大原则

    http://blog.csdn.net/zhengzhb/article/details/7296921设计模式...

网友评论

      本文标题:软件设计的六大原则

      本文链接:https://www.haomeiwen.com/subject/mdvtpdtx.html