会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
东风杨柳岸,岁月如烟
https://www.skillnull.com/
博客园
首页
新随笔
联系
管理
上一页
1
2
3
4
5
6
7
8
9
···
16
下一页
2020年3月9日
JavaScript设计模式样例十一 —— 外观模式
摘要: 外观模式(Facade Pattern) 定义:隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。 目的:为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 场景:客户端不需要知道系统内部的复杂联系,整个系统只需提供一个"接待员"即
阅读全文
posted @ 2020-03-09 19:22 SKILL·NULL
阅读(153)
评论(0)
推荐(0)
2020年3月5日
JavaScript设计模式样例十 —— 组合模式
摘要: 组合模式(Composite Pattern) 定义:又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象。目的:将对象组合成树形结构以表示"部分-整体"的层次结构。场景:您想表示对象的部分-整体层次结构(树形结构),如:文件系统。 // 指令 let directive = { eat: {
阅读全文
posted @ 2020-03-05 12:00 SKILL·NULL
阅读(199)
评论(0)
推荐(0)
2020年3月4日
JavaScript设计模式样例九 —— 桥接模式
摘要: 桥接模式(Bridge Pattern) 定义:是用于把抽象化与实现化解耦,使得二者可以独立变化。 目的:将抽象部分与实现部分分离,使它们都可以独立的变化。 场景:实现系统可能有多个角度分类,每一种角度都可能变化。 let each = (arr, fn) => { for (let i = 0;
阅读全文
posted @ 2020-03-04 11:02 SKILL·NULL
阅读(184)
评论(0)
推荐(0)
2020年3月3日
JavaScript设计模式样例八 —— 适配器模式
摘要: 适配器模式(Adapter Pattern) 定义:将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。目的:主要解决在软件系统中,常常要将一些"现存的对象"放到新的环境中,而新环境要求的接口是现对象不能满足的。场景:系统需要使用现有的类,而此类的接口
阅读全文
posted @ 2020-03-03 16:40 SKILL·NULL
阅读(150)
评论(0)
推荐(0)
2020年2月27日
JavaScript设计模式样例七 —— 原型模式
摘要: 原型模式(Prototype Pattern) 定义:用于创建重复的对象,同时又能保证性能。目的:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。场景:在运行期建立和删除原型。 let productPrototype = { init: (type) => { this.type
阅读全文
posted @ 2020-02-27 14:54 SKILL·NULL
阅读(125)
评论(0)
推荐(0)
2020年2月26日
JavaScript设计模式样例六 —— 抽象工厂模式
摘要: 抽象工厂模式(Abstract Factory Pattern) 定义:抽象工厂模式提供了一种方式,可以将一组具有同一主题的单独的工厂封装起来。或者说,是其他工厂的工厂。目的:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。场景:系统的产品有多于一个的产品族,而系统只消费其中某一
阅读全文
posted @ 2020-02-26 19:19 SKILL·NULL
阅读(174)
评论(0)
推荐(0)
2020年2月25日
JavaScript设计模式样例五 —— 建造者模式
摘要: 建造者模式(Builder Pattern) 定义:使用多个简单的对象一步一步构建成一个复杂的对象。 目的:将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。 场景:一些基本部件不会变,而其组合经常变化的时候。 // 声明一个产品类 class Product { constru
阅读全文
posted @ 2020-02-25 17:45 SKILL·NULL
阅读(145)
评论(0)
推荐(0)
2019年10月24日
JS比较两个时间的时间差
摘要: /** * 比较两个时间的时间差 * @param startTime 开始时间 * @param endTime 结束时间 * @demo compareTime(new Date('2019-12-24 16:02').getTime(), new Date().getTime()) */ function compareTime (startTime, endTime) { var retV
阅读全文
posted @ 2019-10-24 19:16 SKILL·NULL
阅读(2976)
评论(0)
推荐(0)
2019年10月21日
JS监听浏览器标签页的显示与隐藏
摘要: /** * 监听浏览器标签页的显示与隐藏 */ class ListenerPageVisibility { constructor () { // 设置隐藏属性和改变可见属性的事件的名称 this.hidden = '' this.visibilityChange = '' if (typeof document.hi...
阅读全文
posted @ 2019-10-21 16:30 SKILL·NULL
阅读(1461)
评论(0)
推荐(0)
2019年10月16日
JavaScript设计模式样例四 —— 单例模式
摘要: 单例模式(Singleton Pattern): 定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点。 目的:阻止其他对象实例化其自己的单例对象的副本,从而确保所有对象都访问唯一实例。 场景:如一个系统中可以存在多个打印任务,但是同时只能有一个正在工作的任务。 例:JS代码实现 // 惰性单
阅读全文
posted @ 2019-10-16 20:42 SKILL·NULL
阅读(181)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
7
8
9
···
16
下一页
公告