持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第2天,点击查看活动详情
什么是设计
- 按照哪种思路或标准来实现功能
- 功能相同,可以有不同的设计方式
- 需求如果不断变化,设计的作用才能提现出来
SOLID 五大设计原则
| 首字母 | 原则 | 概念 |
|---|---|---|
| S | 单一职责原则 | 单一功能原则认为对象赢仅具有一种单一功能 |
| O | 开放封闭原则 | 开闭原则认为“软件体应该是对于扩展开放的,但是对于修改封闭的”的概念 |
| L | 里式替换原则 | 里式替换原则认为“程序中的对象应该是可以在不改变程序正确性的前提下被它的子类所替换的”的概念 |
| I | 接口隔离原则 | 接口隔离原则认为“多个特定客户端接口要好于一个宽泛用途的接口” |
| D | 依赖反转原则 | 依赖反转原则认为一个方法应该遵循从“依赖于抽象而不是一个实例”的概念。依赖注入是该原则的一种实现方式 |
单一职责原则
- 一个程序只做好一件事
- 如果功能特别复杂,就进行拆分
开放封闭原则
- 对扩展开放,对修改关闭
- 增加需求时,扩展新代码,而非修改已有代码
- 这是软件设计的最终目标
里式替换原则
- 子类能覆盖父类
- 父类能出现的地方子类就能出现
- JS中使用较少
接口隔离原则
- nterface Segregation Principle
- 保持接口的单一独立,避免出现胖接口
- JS中没有接口,使用较少
- 类似于单一职责原则,更关注接口
依赖倒置原则
- Dependence Inversion Principle
- 面向接口编程,依赖于抽象而不依赖于具体实现
- 使用方只关注接口而不关注具体类的实现
- JS中使用较少(没有接口,弱类型)
写在最后
我理解的设计模式:就是将我们编程中的经验总结成方法论,有些设计模式虽然我们不知道他的名字但是在日常的开发中已经在使用了。