随笔分类 -  JS设计模式

摘要:广告展现 例如,关于计算机培训广告资源需要投放,一批是Java的用绿色字体,一批是PHP的,用黄色字体,红色背景。 // 创建Java学科类 var Java = function (content) { // 将内容保存在content里面以备后面使用 this.content = content 阅读全文
posted @ 2022-10-24 23:03 风雨后见彩虹 阅读(58) 评论(0) 推荐(0) 编辑
摘要:简单工厂模式(Simple Factory):又叫静态工厂方法,由一个工厂对象决定创建某一种产品对象类的实例。主要用来创建同一类对象。 第一次需求 开发一个登录模块的需求,用户名输入框如果输入的内容不符合规范就自定义一个警告框警示一句:‘用户名不能多于16个字母或数字’ var LoginAlert 阅读全文
posted @ 2022-10-11 22:15 风雨后见彩虹 阅读(69) 评论(0) 推荐(0) 编辑
摘要:发布-订阅模式的作用 比如常见的发送短信就是一个典型的发布-订阅模式,例如,小明、小红去售楼处购买房子,但是售楼处的工作人员告诉小明、小红当前楼盘已经售罄,新楼盘还没有开售,这个时候,小明、小红把自己的手机号告诉工作人员,当有新楼盘开售的时候让工作人员短信通知到他们。 那么小明、小红等购买者就是订阅 阅读全文
posted @ 2022-10-09 21:01 风雨后见彩虹 阅读(142) 评论(0) 推荐(0) 编辑
摘要:鸭子类型 编程语言按照数据类型大体可以分为两类,一类是静态类型语言,另一类是动态类型语言。 动态类型语言对变量类型的宽容给实际编码带来了很大的灵活性。由于无需进行类型检测,我们可以尝试调用任何对象的任意方法,而无需去考虑它原本是否被设计为拥有该方法。 这一切都建立在鸭子类型(duck typing) 阅读全文
posted @ 2020-11-02 12:44 风雨后见彩虹 阅读(641) 评论(0) 推荐(0) 编辑
摘要:介绍 策略模式的意义是定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。此模式让算法的变化不会影响到使用算法的客户。 实现 举一个例子,比如我们做数据合法性校验,一般是通过swich来实现,或者通过if语句来实现,如果校验规则多了的话,那么代码的扩展性和维护性就很差了,而且进行单元测试就 阅读全文
posted @ 2020-10-10 21:54 风雨后见彩虹 阅读(729) 评论(0) 推荐(0) 编辑
摘要:简介 观察者模式又叫发布 订阅模式,它定义了对象间的一种一对多的关系,让多个观察者对象同时监听某一个主题对象,当一个对象发生改变时,所有依赖于它的对象都将得到通知。 举一个现实生活中的例子,例如小红在淘宝的一家店里看上了一双红色的鞋,小李也在这家店里面看上了一顶黑色的帽子,但是联系卖家时,卖家回答这 阅读全文
posted @ 2019-07-09 22:19 风雨后见彩虹 阅读(860) 评论(0) 推荐(0) 编辑
摘要:简单工厂模式是由一个方法来决定到底要创建哪个类的实例, 而这些实例经常都拥有相同的接口. 这种模式主要用在所实例化的类型在编译期并不能确定, 而是在执行期决定的情况。 说的通俗点,就像公司茶水间的饮料机,要咖啡还是牛奶取决于你按哪个按钮。 var Car = (function () { var C 阅读全文
posted @ 2018-11-06 17:52 风雨后见彩虹 阅读(488) 评论(0) 推荐(0) 编辑
摘要:基本用法 问题是output()在每次创建对象的时候都重新定义了,没有共享。 可以用如下方式: 更好的方式,使用原型继承output方法: 除了使用new,可以作为函数调用、call方式 该代码的方法1有点特殊,如果不适用new直接调用函数的话,this指向的是全局对象window,我们来验证一下: 阅读全文
posted @ 2018-11-06 16:34 风雨后见彩虹 阅读(335) 评论(0) 推荐(0) 编辑
摘要:什么是单例模式 所谓单例,就是一个类只有一个实例,实现的方法一般是先判断是否存在实例,如果存在就直接返回,如果不存在就创建了再返回。这样确保了一个类只有一个实例对象。 实现的单例有很多种方式,最简单的一种方式就是对象字面量的方法,其字面量里面可以包含大量的属性和方法。 如果想要扩展该对象,使用闭包的 阅读全文
posted @ 2018-11-06 15:29 风雨后见彩虹 阅读(606) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示