JavaScript设计模式 样例一 —— 工厂模式
2024-09-05 20:09:44
工厂模式(Factory Pattern):
定义:定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪个类。工厂方法让类的实例化推迟到子类中进行。
目的:工厂模式是为了解耦,把对象的创建和使用的过程分开。
场景:需要生成复杂对象,需要降低耦合度的场景。
例子:JS代码实现
let operationFactory = {
createOperate (operate) {
let oper = null
switch (operate) {
case '+':
oper = new operationFactory.OperationAdd()
break
case '-':
oper = new operationFactory.OperationSub()
break
case '*':
oper = new operationFactory.OperationMul()
break
case '/':
oper = new operationFactory.OperationDiv()
break
}
},
OperationAdd () {
// TODO run the addition operation
},
OperationSub () {
// TODO run the subtraction operation
},
OperationMul () {
// TODO run the multiplication operation
},
OperationDiv () {
// TODO run the division operation
}
}
Git地址:https://github.com/skillnull/Design-Mode-Example
最新文章
- ArcGIS Engine开发前基础知识(2)
- scrollView滚动原理
- jq 实现上下排序的一段代码
- 实现iOS图片等资源文件的热更新化(四): 一个最小化的补丁更新逻辑
- ORA-00030: User session ID does not exist.
- taglib
- 特征的转换规则 Transfer Routione
- 【转载】主数据管理(MDM)与元数据管理
- FPGA学习之基本结构
- 【jQuery UI 1.8 The User Interface Library for jQuery】.学习笔记.10.Button 和 Autocomplete控件
- android 开发上传图片遇到返回 FileNotFoundException
- ORACLE 小写金额转大写金额
- opensuse13.1 双屏幕扩展
- orcl改变临时表空间的指令
- 【转载】将python脚本打包成exe文件
- Laravel Cache 使用
- ucloud mysql
- 图像检索(6):局部敏感哈希索引(LSH)
- sql查询表中重复数据个数
- C++进阶--命名空间和关键字using
热门文章
- kafka原理和实践
- rtmp协议分析
- Mybaits多个参数的传递
- C# Setting.settings . 用法 2 使用配置文件(.settings、.config)存储应用程序配置
- OpenStack 实现技术分解 (6) 通用库 — oslo_log
- Python Requests post方法中data与json参数问题
- python每日一练:0014题
- 【Qt开发】设置Qt应用程序图标
- JDK,JRE,JVM的区别与联系?
- 第8周课程总结&;实验报告6