何为设计
即按照一种思路或者标准来实现功能
结合《UNIX/LINUX设计哲学
- 小即是美
- 让每个程序只做好一件事
- 快速建立原型
- 舍弃高效率而取可移植性
- 采用纯文本来存储数据
- 充分利用软件的杠杆效应(复用,抽象)
- 使用shell脚本来提高杠杆效应和可移植性
- 避免强制性的用户界面
- 允许用户定制环境
- 尽量使操作系统内核小而轻量化
- 使用小写字母并尽量简短
- 沉默是金
- 各部分之和大于整体
- 寻求 90% 的解决方案
SOLID 五大设计原则
S 单一职责原则
1. 一个程序只做好一件事
2. 如果功能过于复杂就拆分,每个部分保持独立
O 开放封闭原则
1. 对扩展开放,对修改封闭
2. 增加新需求时,扩展新代码,而非修改已有代码
L 李氏置换原则
1. 子类能覆盖父类
2. 父类能出现的地方子类就能出现
3. JS中使用较少(弱类型&继承使用较少)
I 接口独立原则
1. 保持接口的单一独立,避免出现“胖接口”
2. JS中没有接口(typescript除外), 使用较少
3. 类似于单一职责原则,这里更关注接口
D 依赖导致原则
1. 面向接口编程,依赖于抽象而不依赖于具体
2. 使用方法只关注接口而不关注具体类的实现
3. JS中使用较少(没有接口&弱类型)