一下工厂模式的优点,好啦~~

  <pre class="brush:js;">
// logger/index.js
import ConsoleLogger from './console.js'
import FileLogger from './file.js'
const loggerMap = {
console: ConsoleLogger,
file: FileLogger
}
// 可选参数一般放在最后面
function createLogger(options, type = 'console') {
const Logger = loggerMap[type]
if (Logger) {
return new Logger(options)
}
throw new Error(Logger type not found: ${type})
}</pre>

  上面这种封装的方式,其实也符合 SOLID 原则中的 开闭原则js 抽象工厂模式js 抽象工厂模式,即 对扩展开放,对修改关闭,每当我们添加一种 logger 类型时,只需要新增一个文件,然后将构造器注册进 loggerMap 中即可。而外面的使用方式都是不变的,这样就用最少的修改完成了功能的新增,是不是很棒呀~总结

  下面我们来回顾一下工厂模式的优点:

  好啦~!工厂模式就介绍到这里啦~ 下次我们讲一讲装饰器模式~

  参考内容

  感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:测试上述代码运行效果。

  更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《javascript面向对象入门教程》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》

  希望本文所述对大家JavaScript程序设计有所帮助。

文章由官网发布,如若转载,请注明出处:https://www.veimoz.com/1757
0 评论
358

发表评论

!