设计模式原则
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
- 尽量使用对象组合/聚合,而不是继承来达到复用的目的。