这是我参与「第四届青训营 」笔记创作活动的的第3天
一个模式的四个基本要素
- 模式名称
- 问题
- 解决方案
- 效果
什么是设计模式
对被用来在特定场景下解决一般设计问题的类和相互通信的对象的描述
如何描述设计模式
- 模式名和分类
- 意图
- 别名
- 动机
- 适用性
- 结构
- 参与者
- 协作
- 效果
- 实现
- 代码示例
- 已知应用
- 相关模式
如何选择设计模式
- 考虑设计模式是怎样解决设计问题的
- 浏览模式的意图部分
- 研究模式怎样相互关联
- 研究目的相似的模式
- 检查重新设计的原因
- 考虑设计中哪些是可变的
几种设计模式
-
创建型
创建型模式抽象了实例化过程。它们帮助一个系统独立于如何创建、组合和表示它的那些对象。一个类创建型模式使用继承改变被实例化的类,而一个对象创建型模式将实例化委托给另一个对象。
-
结构型
结构型模式涉及到如何组合类和对象以获得更大的结构。结构型类模式采用继承机制来组合接口或实现。一个简单的例子是采用多重继承方法将两个以上的类组合成一个类,结果这个类包含了所有父类的性质。这一模式尤其有助于多个独立开发的类库协同工作。另外一结构型对象模式不是对接口和实现进行组合,而是描述了如何对一些对象进行组合,从而实现新功能的一些方法。因为可以在运行时刻改变对象组合关系,所以对象组合方式具有更大的灵活性,而这种机制用静态类组合是不可能实现的。
-
行为型
行为模式涉及到算法和对象间职责的分配。行为模式不仅描述对象或类的模式,还描述它们之间的通信模式。这些模式刻划了在运行时难以跟踪的复杂的控制流。行为类模式使用继承机制在类间分派行为。行为对象模式使用对象复合而不是继承。
浏览器中的设计模式
- 单例模式
- 发布订阅模式
JavaScript中的设计模式
- 原型模式
- 代理模式
- 迭代器模式
前端框架中的设计模式
- 代理模式
- 组合模式 本文内容来源于《设计模式》和今日课程《前端设计模式应用》