标签:工厂模式 分类 初始 接收 能力 执行 `` 耦合 mvc
# 一、设计模式的概念和介绍
1. 什么是设计模式
- 经过大量验证,实验,总结,形成的一套固定的用来解决某类问题的方法
- 是一套经过反复使用、多人知晓的、经过分类的、代码设计经验的总结
- 需求:批量创建相同特点的对象
- 封装,创建对象,设置属性或方法,属性传参,返回对象
- 工厂模式
```js
function Create(n, s, a){
var obj = {};
obj.name = n;
obj.sex = s;
obj.age = a;
return obj;
}
var o1 = Create("admin","1",17);
var o2 = Create("admin","1",17);
var o3 = Create("admin","1",17);
```
2. 有哪些设计模式:
- 构造器模式,模块化模式,暴露模块模式,单例模式,中介者模式,原型模式,命令模式,外观模式,工厂模式,Mixin模式,装饰模式,亨元(Flyweight)模式,MVC模式,MVP模式,MVVM模式,组合模式,适配器模式,外观模式,观察者模式,迭代器模式,惰性初始模式,代理模式,建造者模式
3. 设计模式和面向对象编程的关系
- 面向对象编程是一门内功心法
- 设计模式就是对应的招式
# 二、具体的设计模式讲解
1. 单例模式
- 单个实例
- 在面向对象方式编程时,经过多次操作,只有一个对象被创建,是单例模式
- 多次new只有一个实例被创建
2. 组合模式
- 组合对象
- 将多个对象按照一定的规律组合,可以实现批量操作的功能
- 简化了操作,但耗费了更多的性能,递归的思想
- 使用场景
- 组合模式,将对象组合成树状结构
- DOM也是树状结构
- 组合模式用来操作动态的HTML,非常适合的
3. 观察者模式
- 发布订阅者模式
- 发布者
- 发布信息
- 订阅者
- 接收信息,根据信息内容作出对应的处理
- 实现广播通信,一个发布者,多个接收者
- 订阅者的耦合非常低,可扩展能力非常强,可以随时加入或离开
- 一对多的关系
4. 拓展
- 策略模式
- 策略:计划,规划
- 提前预置某些状态的处理功能,根据不同的状态决定哪个功能被调用
- 适配器模式
- 适配器,电源适配器:将不符合规范的内容,包装成符合规范的内容
- 富士红工厂
- 橘子手机:打电话,玩游戏,听歌
- 橘子平板:玩游戏,听歌
- 橘子mp3:听歌,电子书
- 橘子......
- 测试模块
- 听歌
- 玩游戏
- 打电话
- 电子书
- 代理模式
- 代理,快递员,代替某人完成某事
- 代理系统的内置功能的执行,拦截数据,记录,或另做他用,或加工后使用
- 功能A 调用了 功能B 时,有数据传递
- 记录传递了什么数据
- 将传递的数据做二次使用
- 对传递的数据进行加工
- MVC模式
- MVC原本是一种后台语言中的设计模式
- M:module,模块层,管理的是数据
- V:view,视图层,表现,呈现给用户的页面
- C:control,控制器层,逻辑,用来处理逻辑,根据不同的指令,选择不同的数据,在不同的视图中呈现
- 用户,调用控制器中的指令,控制器根据指令去取module层中的数据,暂存;再去view层中取出对应的视图,将数据发给视图,由视图做渲染
- 工厂模式
6.3设计模式
标签:工厂模式 分类 初始 接收 能力 执行 `` 耦合 mvc
原文地址:https://www.cnblogs.com/xiaokeai233/p/13040627.html