
设计模式
有梦想的咸鱼前端
这个作者很懒,什么都没留下…
展开
-
JavaScript设计模式——命令模式
命令模式是JavaScript设计模式中行为型的一种设计模式; 定义: 向某些对象发送请求,但是并不知道被请求的操作具体是什么,所以我们希望以一种松耦合的方式来设计程序,使得请求发送者和接收者之间能够消除彼此之间的耦合关系;而我们的这种松耦合的方式就是命令模式; 白话解释: 假如你是你们公司研发部门团队leader,这时你们领导分布给你一个任务,你粗略的看了一下,很...原创 2019-10-25 11:00:21 · 388 阅读 · 0 评论 -
JavaScript设计模式——职责链模式
职责链模式是设计模式中行为型的一种设计模式; 定义: 使多个对象都有机会处理请求,从而避免请求的发送者与接收者之间的耦合关系,将这些处理请求的对象形成一个链,并沿着这个链传递请求,直到有一个对象处理它为止; 白话解释: 作者坐标武汉,1000+万人口的新一线城市 ;以早高峰公交为例,早上早高峰的时候通常都是公交车前门拥堵,以至于没办法刷卡乘车;但是后门相对来说会...原创 2019-10-23 15:52:46 · 363 阅读 · 0 评论 -
JavaScript设计模式——代理模式
代理模式属于设计模式中结构型的设计模式; 定义: 顾名思义就是为一个对象提供一个代用品或占位符,以便控制对它的访问! 白话解释: 很多明星都是有经纪人的,如果要联系明显进行商演或者开演唱会之类的商业活动通过是需要先跟经纪人取得联系的,跟经纪人谈好了合作事宜之后经纪人再转达给某明星,然后某明星才会去参加活动;同样租房也是一个同样的道理,我们不管是租房还是买房,第一...原创 2019-10-21 16:38:25 · 280 阅读 · 0 评论 -
JavaScript设计模式——适配器模式
适配器模式是设计模式行为型模式中的一种模式; 定义: 适配器用来解决两个已有接口之间不匹配的问题,它并不需要考虑接口是如何实现,也不用考虑将来该如何修改;适配器不需要修改已有接口,就可以使他们协同工作; 白话解释: 你买了某种电器产品,准备带回家好好感受该款产品的魅力;结果带回家之后准备通电使用的时候,发现该产品仅支持两孔插座,而你家里的电源插座都是三孔插座;这个...原创 2019-10-19 10:36:53 · 496 阅读 · 0 评论 -
JavaScript设计模式——策略模式
策略模式是JavaScript设计模式中行为型的设计模式; 定义:定义一系列算法,并将这些算法各自封装成策略类(方法),然后将不变的部分和变化的部分分离开来,并且这些算法可以相互替换 白话解释: 实际上所谓的策略模式就是值根据不同的策略来执行不同的方法,是不是很类似与if-else分支判断;但是策略模式是用来解决多重条件判断语句的; 使用场景: ...原创 2019-10-18 14:58:09 · 229 阅读 · 0 评论 -
JavaScript设计模式——观察者模式
观察者模式又被称为发布-订阅模式,是设计模式中的一种行为型模式; 定义: 观察者模式定义了一种一对多的对象依赖关系,当被依赖的对象的状态发生了改变,所有依赖它的对象都会得到通知; 白话解释: 假如你去苹果专卖店买最新款的iphone11,因为iphone11刚出来不久,正处旺季,供货不足;当你去专卖店的时候,店员告诉你暂时没货了,但是你可以留下你的联系方式,如果货到了,...原创 2019-10-17 11:54:27 · 380 阅读 · 0 评论 -
JavaScript设计模式——原型模式
原型模式: 原型模式是指原型实例指向创建对象的种类,并通过拷贝这些原型创建新的对象,是一种用来创建对象的模式,也就是创建一个对象作为另一个对象的prototype属性; prototype警告:学习了解原型模式前需先学习原型、原型链、prototype、__proto__、constructor等知识;(https://www.cnblogs.com/dengyao-b...原创 2019-10-14 15:45:09 · 198 阅读 · 0 评论 -
Javascript设计模式——建造者模式
建造者模式是相对比较简单的一种设计模式,属于创建型模式的一种; 定义:将一个复杂的对象分解成多个简单的对象来进行构建,将复杂的构建层与表现层分离,使相同的构建过程可以创建不同的表示模式; 优点:建造者模式的封装性比较好,创建对象和构建过程解耦; 建造者模式很容易扩展,当我们需要扩展的时候,通过一个新的建造者就可以实现; 模式作用:分步创建一个复杂的对象 解耦封...原创 2019-10-12 14:12:50 · 233 阅读 · 0 评论 -
JavaScript设计模式——单例模式
单例模式也称为单体模式,规定一个类只有一个实例,并且提供可全局访问点; 在读这篇文章之前,也许你对单例模式的概念感到模糊或者不清楚,但是其实在日常的开发中你肯定用到过单例模式; JavaScript中没有类的定义,单例模式的特点是”唯一“和”全局访问“,那么我们可以联想到JavaScript中的全局对象,利用ES6的let不允许重复声明的特性,刚好符合这两个特点;是的,全局对象是最...原创 2019-10-11 11:26:50 · 207 阅读 · 0 评论 -
JavaScript设计模式——工厂模式
在介绍工厂模式之前,首先我们要理解一下什么是设计模式?什么是设计原则? 设计模式: 通常在我们解决问题的时候,很多时候不是只有一种方式,我们通常有多种方式来解决;但是肯定会有一种通用且高效的解决方案,这种解决方案在软件开发中我们称它为设计模式; 设计模式并不是一种固定的公式,而是一种思想,是一种解决问题的思路;恰当的使用设计模式,可以实现代码的复用和提高可维护性;...原创 2019-10-10 14:06:05 · 751 阅读 · 0 评论