设计:按照哪一种思路或者标准来实现功能
功能相同,可以有不同的设计方案来实现
伴随需求增加,设计的作用才能体现出来(前提)
设计准则
1.小即是美
2.让每个程序只做好一件事(小的组成一个大的)
3.快速建立原型 (先能满足用户基本需求 我们后面再迭代 不能闷头做 根据反馈 自己规划)
4.舍弃高效率而取可移植性(仅高效不通用 不可取 首选复用性 因为硬件产品会磨平这个)
5.采用纯文本来存储数据 (可读性优先级高于高效 硬盘便宜 )
6.避免强制性用户界面(因为占用内存 且安全性问题 因为入口变多 操作多 就是一种分离 )
7.每个程序都称为过滤器(1.2不谋而合 就是每个模块是个数据过滤器)
8.核心系统要小而轻量化 (扩展可以用插件形式 内核是内核 插件是插件 工具是工具)
9.沉默是金(让你输出数字 100 200 结果不是数字 什么都不要输出 容易类型混乱 统一规范)
10.各部分之和大于整体(小的个体组成大的整体 不是一上来整一个整体 遇到改变 都混在一块 改变就很大 拆分后 解耦后 改变就很小)
11.寻求百分之90%的解决方案(二八定律 百分之二十精力解决百分之八十问题 产出比 不是艺术 创作)通用性 传达广泛 流行起来
五大设计原则(哲学)
1.单一职责 (一个程序只做一件事情 各个部分独立 互关关联使用)【更抽象】
promise中每个then只做好一件事情
2.开放封闭 (扩展开放 修改封闭)【尽量扩展新代码 而非修改已有代码】【软件设计的终极目标】【影响测试,多人开发 互不影响】
如果新增需求,扩展then
3.李氏置换(父类出现的地方 子类都可以出现)【子类能覆盖父类】
4.接口独立【避免出现‘胖‘’接口’】【更加具体 接口只是单一原则】
5.依赖倒置(编程依赖抽象 接口 不是具体实现)[比如调用一个接口 我们不管里面实现 只管入参 出餐]
设计 模式
设计: 设计原则 是指导思想
模式:我们根据经验 以及设计原则 总结 出来的 一些套路 模板 方式方法