Skip to main content

设计模式原则

info

设计模式是以语言特性(面向对象三大特性)为“硬件基础”, 再加上软件设计原则的“灵魂”而总结出的一系列软件模式

S.O.L.I.D

单一职责原则、开闭原则、里氏替换原则、接口隔离原则和依赖倒置原则, 它们通常被合起来简称为“S.O.L.I.D”原则

单一职责

Single Responsibility Principle

  • 类的职责单一, 只完成自己分内的事情
  • 高内聚
  • 低耦合
  • 单个模块 简单、易懂

开闭原则

Open/Closed Principle

  • “开” 指的是对扩展开放。简单来讲就是不要修改已有的代码, 而要去编写新的代码。
  • ”闭” 则指的是对修改关闭

里氏替换原则

Liskov Substitution Principle

  • 在任何父类出现的地方子类也一定可以出现, 也就是说一个优秀的软件设计中有引用父类的地方, 一定也可以替换为其子类
  • 继承、多态
  • 面向接口编程

接口隔离

Interface Segregation Principle

  • 对高层接口的独立、分化, 客户端对类的依赖基于最小接口, 而不依赖不需要的接口
  • 简单来说就是切勿将接口定义成全能型的, 否则实现类就必须神通广大, 这样便丧失了子类实现的灵活性, 降低了系统的向下兼容性
  • 接口定义可保持在较小粒度, 实现类只对应一个职能

依赖倒置

DependencyInversion Principle

  • 高层模块不依赖底层模块, 降低耦合
  • 面向接口编程

迪米特法则 LoD

law of Demeter

  • 简化模块间的通信, 降低耦合
  • 各个模块应该尽量保持陌生

合成复用

Composite Reuse Principle

  • 尽量使用对象组合/聚合,而不是继承来达到复用的目的。