愿你坚持不懈,努力进步,进阶成自己理想的人

—— 2017.09, 写给3年后的自己

搜索分类设计模式下的文章

每天一个JavaScript设计模式:抽象工厂模式

一、场景 抽象工厂模式是一种创建型模式,抽象工厂模式创建的是类簇,而非是具体某一个类的实例。 抽象工厂模式适用于系统里有多于一个的产品族,而只需要用到某一族的类的场景 ...

每天一个JavaScript设计模式:工厂方法模式

一、适用场景 简单工厂模式虽然能够解决创建同类对象的问题,但是却存在以下问题: 1)当需要添加新的类时,就需要修改工厂方法,这违背了开闭原则(OCP, 对扩展开放、对源码修改封闭) 2)不适用创建多类对象 于是,工厂方法模式便是为了解决以上问题的另一种

每天一个JavaScript设计模式:简单工厂模式

一、适用场景 简单工厂模式是一种创建型模式,适用于创建同一类对象。 假如存在以下需求: 编写一系列的弹出框,包括:警告框(alert)、输入框(promt)、确认框(confirm) 我们自然可以编写Alert()、

JavaScript设计模式——中介者模式

中介者模式的核心在于接触多个对象之间错综复杂的关系,使得每个对象只需要和中介者进行通信,而对象与其他对象之间的联系则交由中介者传达。 一、场景 现在有场景,某购物网站的商品详情页中的添加到购物车模块,需要包含有如下的逻辑 1)选择商品规格,然后填写购买数量 2)如果购买数量大于可售数量,则加...

JavaScript设计模式——观察者模式

观察者模式是一种常用的设计模式,它的好处是可以解耦两个对象之间的信息传递。 场景 某购物网站展示用户名、头像、获取购物车数据等等操作,需要在登录完成后进行。假设现在展示用户名、头像、获取购物车数据等操作的方法名称如下: showUsername() show...

设计模式之适配器模式

一、使用场景 记得我初中的时候,用压岁钱买了台NDSi,很是高兴,那时候市面上大部分的游戏机都是进口的水货(如日版、美版、欧版),而我所买的版本就是日版的NDSi。然后遇到了一个问题,日本的电压是110V,因而日版NDSi自带的充电电源也是110V范围内的,而我国的电压都是220V,这种情况下,就有人发明出了“火牛”这东西,将110V的电源插在火牛上,火牛再插在220V的插座上,就解决了电压不...

设计模式之观察者模式

一、使用场景 观察者模式,也叫做发布者订阅者模式,是常用的一个设计模式,实际应用开发中经常可以看到观察者模式的影子,如JavaScript中的事件监听就是运用到了观察者模式的思想。观察者模式适用于 当一个对象的改变需要同时改变其他对象,且对象的改变不知道有多少其他对象待改变的时候,就可以使用观察者模式了 二、基本角色

Java设计模式之简单工厂模式

一、工厂模式的应用场景 可以统一管理对象的实例化,比如一个接口有多个实现类,使用者在使用的时候,可以传给工厂一个参数,工厂根据这个参数来选择具体的实现类。或者当一个项目中,new了成百上千个某接口的实现类,然后突然有一天,要把这个实现类换名字了,那么是非常可怕的,因为需要修改成百上千个文件,这时候,如果使用工厂模式,则只要修改一个地方就可以 二、参与者 1、接口...