随笔分类 -  JavaScript 设计模式

*装饰者模式(Decorator)
摘要:装饰者模式:在不改变原对象的基础上,通过对其进行包装拓展 (添加属性或者方法)使原有对象可以满足用户的更复杂需求。 1 <body> 2 用户:<input id="user" type="text" value='user' /> 3 密码:<input id='password' type="p 阅读全文
posted @ 2021-01-29 11:12 大黑ylx 阅读(62) 评论(0) 推荐(0)
*单例模式(singleton)
摘要:单例模式(Singleton):又称为单体模式,是只允许实例化一次的对象类。 1 // 惰性载入实例 2 var LazySingle = (function () { 3 // 单例实例引用 4 var _instance = null; 5 // 单例 6 function Single() { 阅读全文
posted @ 2021-01-29 10:57 大黑ylx 阅读(119) 评论(0) 推荐(0)
建造者模式
摘要:一、定义 创建者模式: 将一个复杂对象的构建层与其表示层相互分离,同样的构建过程可采用不同的表示。 二、创建对象的另一种形式 工厂模式主要为了创建对象实例或者类簇(抽象工厂),关心的是最终产出(创建)的是什么。不关心创建的整个过程,仅仅需要知道最终创建的结果。 建造者模式也是为了创建对象,但它更多关 阅读全文
posted @ 2020-10-19 15:36 大黑ylx 阅读(122) 评论(0) 推荐(0)
抽象工厂模式
摘要:一、定义 抽象工厂模式:通过对类的工厂抽象使其业务用于对产品类簇的创建,而不负责创建某一类产品的实例。 二、抽象工厂模式 继承抽象类是很有用的,因为定义了一种类,并定义了该类所必要的方法,如果在子类中没有重写这些方法,那么当调用时能找到这些方法,但会报错。这一特点在大型项目中是很有效的,总会有一些子 阅读全文
posted @ 2020-10-19 14:01 大黑ylx 阅读(123) 评论(0) 推荐(0)
*工厂方法模式(factory)
摘要:简单工厂模式每次添加新需求,不仅要添加类,还要修改工厂函数。每次都要修改两个地方,这样太麻烦了,工厂方法模式则可以解决这个问题。 工厂方法模式本意是说将实际创建对象工作推迟到子类中。这样核心类就变成了抽象类,但避免有人忽略new关键字,我们采用安全模式类。而我们将创建对象的基类放在工厂方法类的原型中 阅读全文
posted @ 2020-10-16 16:58 大黑ylx 阅读(122) 评论(0) 推荐(0)
简单工厂模式
摘要:简单工厂模式,又称静态工厂方法,由一个工厂对象决定创建某一种产品对象类的实例。主要是用来创建同一类对象。 1 // 简单工厂模式 2 // 登录警示框类,提示输入内容不符合规范 3 var LoginAlert = function(text) { 4 this.content = text; 5 阅读全文
posted @ 2020-10-15 16:18 大黑ylx 阅读(150) 评论(0) 推荐(0)
多态
摘要:多态其实就是同一个方法多种调用的方式。 1 // 多态 2 function add() { 3 // 获取参数 4 var arg = arguments, 5 // 获取长度 6 len = arguments.length; 7 switch(len) { 8 // 如果没有参数 9 case 阅读全文
posted @ 2020-10-15 14:45 大黑ylx 阅读(66) 评论(0) 推荐(0)
多继承
摘要:JavaScript中继承是依赖于原型prototype链实现的,只有一条原型链,所以理论上是不能继承多个父类的,但JavaScript是灵活的,可以一些技巧方法实现多个对象的属性多继承。 一、单继承extend实现 看一下用来继承单对象属性的extend方法: 1 // 对象属性extends方法 阅读全文
posted @ 2020-10-15 14:16 大黑ylx 阅读(177) 评论(0) 推荐(0)
传宗接代——继承
摘要:一、子类的原型对象——类式继承 把父类实例直接赋值给 prototype 属性,代码如下: 1 // 声明父类 2 function SuperClass() { 3 this.superValue = true; 4 } 5 // 为父类添加共有方法 6 SuperClass.prototype. 阅读全文
posted @ 2020-10-13 16:02 大黑ylx 阅读(139) 评论(0) 推荐(0)