随笔分类 -  设计模式

摘要:建造者模式又称为生成器模式,它是一种较为复杂、使用频率也相对较低的创建型模式。建造者模式为客户端返回的不是一个简单的产品,而是一个由多个部件组成的复杂产品。因为,没有人买车会只买一个方向盘或者轮胎,大家买的都是一辆包含轮胎、方向盘和发动机等多个部件组成的完整汽车。如何将这些部件组装成一辆完整的汽车并 阅读全文
posted @ 2018-11-13 15:45 奇小葩 阅读(135) 评论(0) 推荐(0)
摘要:在现实生活中,很多事情都需要经过几个步骤才能完成,例如请客吃饭,无论吃什么,一般都包含:点单、吃东西、买单等几个步骤,通常情况下这几个步骤的次序是:点单= 吃东西= 买单。在这3个步骤中,点单和买单大同小异,最大的区别在于第2步 吃什么?吃面条和吃满汉全席可大不相同。 在软件开发中,有时候也会遇到类 阅读全文
posted @ 2018-11-08 13:10 奇小葩 阅读(169) 评论(0) 推荐(0)
摘要:上一篇的工厂方法模式引入了工厂等级结构,解决了在原来简单工厂模式中工厂类职责太重的原则,但是由于工厂方法模式的每个工厂只生产一类产品,可能会导致系统中存在大量的工厂类,从而增加系统开销。那么,我们应该怎么来重构?似乎,我们可以考虑将一些相关的产品组成一个“产品族”,由同一个工厂来统一生产,这就是本次 阅读全文
posted @ 2018-11-06 16:01 奇小葩 阅读(161) 评论(0) 推荐(0)
摘要:上一篇的简单工厂模式虽然简单,但是存在一个很严重的问题:当系统中需要引入新产品时,由于静态工厂方法通过所传入参数的不同来创建不同的产品,这必定要修改工厂类的源代码,将违背开闭原则。如何实现新增新产品而不影响已有代码?工厂方法模式为此应运而生。 工厂方法模式(Factory Method) 学习难度: 阅读全文
posted @ 2018-11-06 10:31 奇小葩 阅读(145) 评论(0) 推荐(0)
摘要:简单工厂模式是最常用的一种创建型模式,通常所说的工厂模式一般是指工厂方法模式。本篇是是工厂方法模式的“小弟”,我们可以将其理解为工厂方法模式的预备知识,它不属于GoF23种设计模式,但在软件开发中却也应用地比较频繁。此外,工厂方法模式还有一位“大哥”—抽象工厂模式,会在后面进行介绍。 简单工厂模式( 阅读全文
posted @ 2018-11-06 09:19 奇小葩 阅读(149) 评论(0) 推荐(0)
摘要:单例模式属于创建型模式的一种,创建型模式是一类最常用的设计模式,在软件开发中应用非常广泛。创建型模式将对象的创建和使用分离,在使用对象时无需关心对象的创建细节,从而降低系统的耦合度,让设计方案更易于修改和扩展。每一个创建型模式都在视图回答3个问题:3W 创建什么(What)、由谁创建(Who)和何时 阅读全文
posted @ 2018-11-06 09:09 奇小葩 阅读(116) 评论(0) 推荐(0)