代码与设计模式
项目 = 模块 + 沟通
1.帮助我们组织模块:通过一些设计模式,组织模块间的组成结构
2.帮助我们设计沟通:有的设计模式可以帮助我们设计模块间如何沟通
3.提高代码质量:通过设计模式,让代码更优雅
设计原则
1.开闭原则
2.单一职责原则
3.依赖倒置原则
4.接口隔离原则
5.迪米特法则
6.里氏替换原则
设计模式的分类
1.创建型:这些设计模式可以帮助我们优雅地创建对象
2.结构型:帮助我们优雅地设计代码结构
3.行为型:模块之间行为的模式总结,帮助我们组织模块行为
4.技巧型:一些帮助我们优化代码的技巧
创建型
1.工厂模式-大量创建对象
2.单例模式-全局只能有我一个
3.建造者模式-精细化组合对象
4.原型模式-Javascript的灵魂
结构型
1.外观模式-给你的一个套餐
2.享元模式-共享来减少数量
3.适配器模式-用适配代替更改
4.桥接模式-独立出来,然后再对接过去
5.装饰者模式-更优雅地扩张需求
行为型
1.观察者模式-我作为第三方转发
2.职责链模式-像生产线一样组织模块
3.状态模式-用状态代替判断
4.命令模式-用命令去解耦
5.策略模式-算法工厂
6.迭代器模式-告别for循环
技巧型
1.链模式-链式调用
2.惰性模式-我要搞机器学习
3.委托模式-让别人代替你收快递
4.等待者模式-等你们都回来吃饭
5.数据访问模式-一个方便的数据管理器