设计模式
一树梨花
这个作者很懒,什么都没留下…
展开
-
设计模式(8): 状态模式
这次记录的是设计模式中的状态模式,也是介绍Js中常用的设计模式中的最后一个,一起来看看吧!什么是状态模式状态模式的使用优势如何实现状态模式使用javascript-state-mechine状态管理插件做一个简易的Promise这里还是按照以上几个方面对状态模式进行记录:什么是状态模式:在实际的代码开发中,大部分的代码实现都是基于对数据的操作控制,根据不同的数据展示出不同的抽象...原创 2020-04-24 10:42:34 · 124 阅读 · 0 评论 -
设计模式(7): 迭代器模式
迭代器模式的定义迭代器模式的使用场景迭代器模式的优缺点迭代器模式的实现这里将从以上几个方面记录迭代器模式迭代器模式的定义:其实迭代器模式的定义时很简单的,它就是提供一种循序访问一个聚合对象内的各个元素,但又无需暴露对象内部的表示。这里注意的是迭代的对象需要是一个有序的对象集合,而我们常用的object则不满足这个条件,常见的可迭代对象如:Array, Map, Set, Stri...原创 2020-04-22 09:23:35 · 247 阅读 · 0 评论 -
设计模式(6):观察者模式
关于观察者模式应该是在js中使用最为广泛的一种设计模式了,这里将从以下几个方面记录观察者模式:观察者模式的定义观察者模式的常见的使用场景观察者模式的简单实现观察者模式的设计原则分析何为观察者模式:观察者模式是一种行为模式,比较正式一点的定义是:当一个对象的状态发生变化时,能够通知其他关联的对象进行状态的刷新。举一个生活中的例子:当我们去饭店吃饭时,点好饭菜之后就可以坐在一旁等待,...原创 2020-04-21 21:22:33 · 148 阅读 · 0 评论 -
设计模式(5):代理模式
模式切入:何为代理模式代理模式的使用场景使用js实现一个简单的代理模式列举代理模式的几种实例何为代理模式:比较正式一点的定义是: 代理模式是为一个对象提供一个代理品或者占位符,以便于对它进行访问控制通俗点来说,代理模式就是为一个对象添加一个中间代理层,所有对于该对象的操作都需要经由这个代理层,代理层需要提供和原本对象一样的方法,让使用者使用时感觉上和直接操作该对象是一样的。这就...原创 2020-04-20 09:58:35 · 123 阅读 · 0 评论 -
设计模式(4): 装饰器模式
模式导入以一个简单的例子让我们来了解一下装饰器模式:已有一个类完成相应的功能,同时,需要为这个类或者方法添加一些额外的功能或者属性,我们可以将这个已有的类或者方法进行包装,包装的过程中不能够影响类或者方法原有的内容,所做的只是额外的装饰处理。以一个生活中的例子来看,装饰器模式就好比是给手机套手机壳,只是为了给手机起一个保护作用,但并不会影响手机的正常使用官方概念装饰器模式(Decorato...原创 2020-04-17 11:01:06 · 112 阅读 · 0 评论 -
设计模式(3):适配器模式
问题引入:何为适配器模式适配器模式的优势适配器模式的使用场景适配器模式的代码简单实现这里将从以上几个方面记录适配器模式的相关内容:何为适配器模式适配器模式的定义是将一个类的接口转换为客户需要的另一个接口,使得由于不兼容而不能进行工作的一个类可以进行正常的工作。一个简单的生活例子就是我们使用两脚的插头无法在三角的插线孔上进行充电,所以需要一个将两脚转化为三角的一个适配器进行辅助处...原创 2020-04-16 09:58:40 · 189 阅读 · 0 评论 -
设计模式篇(2):单例模式
问题导入何为单例模式单例模式存在的优势是什么单例模式的应用场景有哪些Js中如何实现单例模式Ts中单例模式又应该如何实现我将以以上五个方面介绍单例模式的内容:何为单例模式:单例模式也是我们23三种设计模式中的一种代码编写的模式,根据具体的编码需求,可以保证一个类只会有一个实例对象,所有拿到这个类的实例对象都是完全相同的 ---->这里给一张单例模式的简单UML类图:单...原创 2020-04-15 10:03:46 · 239 阅读 · 1 评论 -
设计模式篇(1): 工厂模式
设计模式并不是某一门语言所特有的内容,它只是一个面向对象开发的代码设计规范,我们常说设计模式,其实设计模式并不是一个内容,我们需要将它分开:及设计,模式。给定的一个业务需求,我们需要先有一个好的需求分析和抽象设计,其次才是根据我们的设计采用一种比较合适的模式去进行编码实现。(当然对于设计没有办法去简单的说清楚,它应该是一种抽象的思维,需要从实际的生产中去不断的积累的过程,所以就直接记录一下学习设计...原创 2020-04-14 17:44:09 · 74 阅读 · 0 评论