上一页 1 2 3 4 5 6 7 8 ··· 15 下一页
摘要: 代理模式的思想就是在对象与对象的客户端之间建立一个新的对象,这个新的对象负责执行原对象的职责与客户端进行交互。这与之前的外观模式的区别是,外观模式将原对象包装起来,真正执行任务的依然是原对象的本身。 比如在浏览器的网络请求中就是一种代理模式,在浏览器中通过JS实现的网络请求最终会通过浏览器的内核中的 阅读全文
posted @ 2021-12-25 21:18 他乡踏雪 阅读(89) 评论(0) 推荐(0) 编辑
摘要: 外观模式又被称为“过程模式”,为复杂的程序提供一种简洁的API,增强程序的可读性、功能内聚。这个模式并不关心程序内部的实现,主要关心对外提供简单的接口。 适应场景: 在程序的设计初期,应该有意识的将不同层分离,层与层之间建立外观模式。 开发阶段,子系统越来越复杂,增加外观模式提供简单的接口。 维护复 阅读全文
posted @ 2021-12-25 20:51 他乡踏雪 阅读(56) 评论(0) 推荐(0) 编辑
摘要: 策略模式的思想是在程序运行时选择算法,这种情况非常普遍,在程序运行环境的不同程序需要选择不同的算法、在业务需求不同时需要选择不同的算法等。例如在表单验证时,需要做非空检查、字符检查等情况,这些不同的验证结果就需要不同的算法实现相应的功能; 还有工资计算时也会使用策略模式,比如针对不同的员工按照不同不 阅读全文
posted @ 2021-12-25 17:58 他乡踏雪 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 装饰模式的思想是可以在运行时动态的添加附加功能,即其预期行为可定制和可配置特点。并且在多个配置功能需要按照顺序进行时,都是装饰模式需要解决的问题。 按照这个思路首先我们需要一个描述执行任务的对象,这个对象上包含一系列的可定制和配置的功能,当这个任务执行时将运行中的需要附加的功能时添加到一个配置列表中 阅读全文
posted @ 2021-12-24 18:18 他乡踏雪 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 迭代模式的思想是必须有一个包含某种数据集合的容器,该数据集合可能存储在一个复杂数据结构内部,需要提供一种简单的能够访问数据结构中的每个元素。访问者并不需要了解数据容器中如何组织数据,所需要的就是取出单个数据进行工作。 基于这样的模式需求,首先需要一个容器,然后需要提供一个访问数据元素的接口,并且这个 阅读全文
posted @ 2021-12-24 17:36 他乡踏雪 阅读(39) 评论(0) 推荐(0) 编辑
摘要: 工厂模式的目的是为了创建对象,对象创建重复操作比较频繁甚至需要批量创建;所创建的对象不确定具体类型,但所有对象一般具备公共特性又包含自身独有特性。 基于这样的模式需求,可以通过一个父类来创建包含所有公共特性的原型,然后通过子类创建具体的对象。 示例: //父类 function CarMaker() 阅读全文
posted @ 2021-12-24 03:44 他乡踏雪 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 单体模式的思想是在于保证一个特定的类仅有一个实例。也就是只要该构造函数创建过一次实例以后,再通过该构造函数重复创建实例时,得到的都是最初第一次创建的实例。 基于这样的思想可以想到的实现逻辑: 1.缓存第一次创建的实例; 2.并且缓存的实例不能发现变化。 基于这样的实现逻辑,缓存不能发生变化的解决思路 阅读全文
posted @ 2021-12-23 18:09 他乡踏雪 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 命名空间模式 声明依赖关系 私有化 模块模式 沙箱模式 静态成员 链模式 代码复用与继承 一、命名空间模式 1.1什么是命名空间模式?为什么要使用命名空间模式? 命名空间:用来组织和重用代码,区别不同代码之间的功能。简单的理解就是将不同功能的PIA名称按照指定结构和规律存储到一个列表中,并且所有AP 阅读全文
posted @ 2021-12-22 17:08 他乡踏雪 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 函数与API模式 函数与初识化模式 函数与性能模式 关于一等公民这一身份的由来主要是相对其他语言而言,在(C/C++/Java/C#等)中,函数都是作为一个二等公民存在,你只能用语言的关键字声明一个函数然后调用它,如果需要把函数作为参数传给另一个函数,或是赋值给一个本地变量,又或是作为返回值,就需要 阅读全文
posted @ 2021-12-15 23:17 他乡踏雪 阅读(62) 评论(0) 推荐(0) 编辑
摘要: 为什么说JavaScript一切都是对象? 字面量与构造函数从设计模式的角度如何抉择和处理可能引发的问题? 一、为什么说JavaScript一切都是对象? 1.1所有类型都有对应的对象模式 let str = "abc"; let strObj = new String("abc"); 1.2无论是 阅读全文
posted @ 2021-12-14 11:48 他乡踏雪 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 什么是可维护性? JavaScript如何实现可维护性代码? 一、什么是可维护性? 1.1什么是可维护性? 修改bug和新增迭代功能一个项目不可避免的基本操作需求,代码良好的阅读性、代码结构的一致性、预留未来迭代的空间、统一代码规范、充分必要的注释文档是可维护性的代码必须具备的特征。 为了保证实现的 阅读全文
posted @ 2021-12-13 10:34 他乡踏雪 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 关于设计模式与这一系列博客导读 基于《JavaScript模式》的学习路径与注意点 如何基于JavaScript设计关于解决特殊问题的模板 一、关于设计模式与这一系列博客导读 1.1什么是设计模式? 我在学习设计模式之前,听到或看到的最多的关于什么是设计模式的回答都是“....23种设计模式”,面对 阅读全文
posted @ 2021-12-11 05:47 他乡踏雪 阅读(75) 评论(0) 推荐(0) 编辑
摘要: W3C是什么? 什么是Web标准? Web标准与前端开发相关的主要内容 一、主题解析 W3C:万维网联盟 英文全称:World Wide Web Consortium 创建时间:1994年 职能:制定web技术协议和指南,解决web应用在不同平台、技术和开发者带来的的不兼容性,确保web信息的顺利和 阅读全文
posted @ 2021-12-06 02:45 他乡踏雪 阅读(382) 评论(0) 推荐(0) 编辑
摘要: 24种假值比较引发的思考 极端情况下该如何分析 比较运算的强制类型转换完全解答 一、24种假值比较引发的思考 摘录《你不知道的JavaScript 中卷》第一部分 类型转换 4.5.3 1 "0" == null; //false 2 "0" == undefined; //false 3 "0" 阅读全文
posted @ 2021-01-04 19:50 他乡踏雪 阅读(538) 评论(1) 推荐(1) 编辑
摘要: 响应式布局原理 媒体查询应用 响应式布局示例 外部样式的引入方式 一、响应式布局原理 1.1响应式布局特点:网页宽度自动调整、尽量少使用绝对宽度、字体的大小使用相对单位(rem、em)、布局尽量使用浮动(流式布局)。 1.2响应式布局核心技术:媒体查询(@media)。 @media是css的@规则 阅读全文
posted @ 2020-10-08 13:35 他乡踏雪 阅读(9483) 评论(0) 推荐(1) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 15 下一页