设计模式
js设计模式-建造者模式
概念 将一个复杂对象的构建层与其表示层分离,同样的构建过程可以采用不同的并表示
与工厂模式的区别 工厂模式主要是为了创建对象实例或者类簇(抽象工厂),关心的是最终产出(创建)的是什么,而不关心创建的过程。 而建造者模式关心的是创建这个对象的整个过程,甚至于创建对象的每一个细节。 以下以创建应聘者为例:应聘者有兴趣爱好,姓名和期望的职位等等
解决的问题 方便用户创建复杂的对象(不需要知道实现过程) 代码复用性 & 封装性(将对象构建过程和细节进行封装 & 复用)
例子:1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374// 创建一个人function PersonBuilder(params) { this.skill = ...
设计模式
js设计模式-工厂模式
什么是工厂模式: 工厂模式其实就是封装对象的创建过程,使得创建对象的逻辑与使用对象的逻辑分离开来。
简单工程模式 简单工厂模式又叫静态工厂模式,由一个工厂对象决定创建某一种产品对象类的实例。主要用来创建同一类对象。
例子:12345678910111213141516171819202122232425262728293031 //User类 class User { //构造器 constructor(opt) { this.name = opt.name; this.viewPage = opt.viewPage; } //静态方法 static getInstance(role) { switch (role) { case 'superAdmin': return new User({ name: '超级管理员', viewPage: ['首页', ' ...
设计模式
js设计模式-单例模式
什么是单例模式 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。 注意: 1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。
如何实现 肯定是有一个变量将第一次new生成的实例对象保存了下来,后面再执行new的时候,就直接返回第一次生成的实例对象,这样就实现了单例。
主要优点: 1、提供了对唯一实例的受控访问。 2、由于在系统内存中只存在一个对象,因此可以节约系统资源,对于一些需要频繁创建和销毁的对象单例模式无疑可以提高系统的性能。 3、允许可变数目的实 ...
前端开发
Webpack基础教程
什么是Webpack webpack是一个打包工具,他的宗旨是一切静态资源皆可打包。有人就会问为什么要webpack?webpack是现代前端技术的基石,常规的开发方式,比如jquery,html,css静态网页开发已经落后了。现在是MVVM的时代,数据驱动界面。webpack它做的事情是,分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss,TypeScript等),并将其打包为合适的格式以供浏览器使用。
Webpack 五个核心1.Entry
入口(Entry)指示Webpack以哪个文件为入口起点开始打包,分析构建内部依赖图。
2.Output
输出(Output)指示Webpack打包后的资源bundles输出到哪里去,以及如何命名。
3.Loader
Loader让Webpack能够去处理那些非JavaScript文件(webpack自身只理解Javascript)
4.Plugins
插件(plugins)可以用于执行范围更广的任务。插件的范围包括,从打包优化和压缩,
...