何为设计
《Unix/Linux 设计哲学》中讲到的一些设计准则:
设计准则
小即是美
让每个程序只做好一件事
快速建立原型(先满足基本需求,再后续升级)
舍弃高效率而采取可移植性
采用纯文本来存储数据(可读性好)
充分利用软件的杠杆效应(软件复用)
使用 shell 脚本来提高杠杆效应和可移植性
避免强制性的用户界面(用户界面应该是其中的一小部分,内存占用,交互复杂,效率低)
让每个程序成为过滤器
小准则
允许用户定制环境
尽量使操作系统内核小而轻量化
使用小写字母并尽量简短
沉默是金
各部分之和大于整体
寻求 90% 的解决方案
单一职责原则
一个程序只做好一件事
如果功能过于复杂就拆分开,保持每个部分独立
开放封闭原则
对扩展开放,对修改封闭
增加需求时,扩展新代码,而不是在原有代码上修改
李氏置换原则
子类能覆盖父类
父类能出现对地方子类都能出现
js 中使用较少
接口独立原则
保持接口的单一独立,避免出现“胖接口”
JS 中没有接口,使用较少
类似于单一职责原则,这里更关注接口
依赖倒置原则
面向接口编程,依赖抽象而不依赖于具体
使用方法只关注接口而不关注具体类的实现
JS 中使用较少
参考
慕课网 JavaScript 设计模式系统讲解与应用