设计模式
_Liweijian
这个作者很懒,什么都没留下…
展开
-
每天一个设计模式之策略模式
什么是“策略模式”策略模式是一种比较简单的模式,也叫做政策模式。 他的定义如下: 定义一组算法,将每个算法都封装起来,并且使他们可以互换。那么,到底什么是策略模式呢?(概念和优缺点在文末,不想看例子的小伙伴可以直接跳到文末) 我们来举个例子:我们有一款游戏,游戏有四种角色:射手、刺客、狂战士、剑士, 同时也有四种武器可以提供角色进行切换和攻击,但是每次只能使用一种武器。 通过上面这...原创 2018-06-03 11:39:24 · 184 阅读 · 0 评论 -
每天一个设计模式之工厂方法模式
什么是“工厂方法模式” 工厂方法模式:定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。我们来看看工厂方法模式的UML图:从类图中我们可以看到,工厂方法有两个平行的接口(抽象类),一个是Product,一个是Factory。他们具体什么意思呢, 我们可以先来看看例子,然后再理解这个类图。为什么要使用“工厂方法模式”背景...原创 2018-06-12 12:19:52 · 164 阅读 · 0 评论 -
每天一个设计模式之观察者模式
什么是“观察者模式” 观察者模式也叫做“发布/订阅模式”。它是一种在项目中常用的模式。 定义:定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。观察者模式的类图如下:其实通俗一点讲,观察者模式就类似于我们生活中的订报纸。如果我们向报社订了报纸,你每天都会收到报社送过来的新报纸。如果没有订阅,那自然就收不到。所...原创 2018-06-05 16:10:36 · 128 阅读 · 0 评论 -
每天一个设计模式之装饰者模式
什么是“装饰者模式” 装饰者模式:装饰者模式可以动态地将责任附加到对象上。若要拓展功能,装饰者模式提供了比继承更有弹性的替代方案。在面向对象设计过程中,我们可以遵循一个原则:开闭原则(对拓展开放,对修改关闭) 而装饰者模式就很好的遵循了这个原则,在对类进行拓展的时候可以不修改代码,以便搭配新的行为。这种设计更具有弹性,可以更好地应对改变和接收新的需求。为什么要用“装饰者模...原创 2018-06-08 13:36:47 · 155 阅读 · 0 评论 -
每天一个设计模式之单例模式
什么是“单例模式” 单例模式:确保某个类只有一个实例,并且只能自行实例化并且向系统提供这个示例。单例模式有几个特点:单例类只能有一个实例单例类必须自己创建自己的实例单例类必须给其他类提供这个实例单例模式在很多场景都可以使用到,比如线程池、缓存、日志对象、打印机或者显卡驱动的对象等等,这些场景下,如果有多个实例的话,可能会导致程序的行为异常、资源使用过量等问题的出现。因...原创 2018-06-09 15:39:56 · 149 阅读 · 0 评论 -
每天一个设计模式之单例模式
什么是“单例模式” 单例模式:确保某个类只有一个实例,并且只能自行实例化并且向系统提供这个示例。单例模式有几个特点:单例类只能有一个实例单例类必须自己创建自己的实例单例类必须给其他类提供这个实例单例模式在很多场景都可以使用到,比如线程池、缓存、日志对象、打印机或者显卡驱动的对象等等,这些场景下,如果有多个实例的话,可能会导致程序的行为异常、资源使用过量等问题的出现。因...原创 2018-06-09 15:40:02 · 139 阅读 · 0 评论