教程
-
JavaScriptStudy/06-设计模式 at master · csxiaoyaojianxian/JavaScriptStudy
-
口诀:https://juejin.cn/post/6953423646664687652?searchId=20241112112314849DC641EB3422298C3F
设计模式的目标
- 提高代码的可读、可维护性、可复用性
口诀
有3大种的设计模式?是怎么分辨的?
- 创建型:关注于怎么创建一个对象
- 结构型:关注于类与类、对象与对象之间的继承或组合来实现功能
- 行为型:关注于对象的行为,对象之间通信,目的是实现对象之间的有效交互和职责分配
单开伊利开迪合
- 怎么记住一个设计模式?通过记住它的一个例子即可。
:判断是否是结构型,主要是看是否补充了结构,或者是构成成更大的结构。
:解决2个接口不兼容的问题,比如googleMap,baiduMap
:目的是为了能同一对待叶对象和组合对象,从而实现单一命令和批处理命令
:则是关注于对象之间的职责分配和之间的交互,看是否减少了对象之间的关系,比如之前是1对多,现在是1对1
:父类定义一套算法框架,子类不改变算法框架的情况下,延迟到子类去实现具体的行为
命令本身去完成具体方法的关联
- 命令的调用方式统一都是execute方法
命令与行为定义分离的,行为不在命令里面定义
- 一个命令可以关联不同的行为
:主要是为了控制命令的执行,比如命令的排队、异步、存储、撤销命令。将命令的发起者跟执行者解耦,