设计模式
文章平均质量分 88
ywb201314
兵法有言,知己知彼,百战不殆
展开
-
设计模式之装饰者模式
今天我们来学习一下装饰者模式。作为一名程序猿,相信许多人都跟我一样,在平时写代码的过程中,习惯使用继承。但是继承有时候会出现非常严重的问题,不过,没担心。装饰者模式将会给爱用继承的我们一个全新的设计眼界!一、星巴兹咖啡的故事 我们通过一个生动有趣的例子来引出我们今天的主角--装饰者模式。 1、现在呢,有一个咖啡馆,它有一套自己的订单系统,当顾客来咖啡馆的时候,可以通过订单系统来点自己想要的咖啡。他们原先的设计是这样子的: 2、此时、咖啡馆为了吸引更多的顾客,需要在订单系.转载 2021-08-18 16:59:03 · 357 阅读 · 0 评论 -
装饰器模式(Decorator)
1.认识装饰器模式 装饰模式能够实现动态的为对象添加功能,是从一个对象外部来给对象添加功能。通常给对象添加功能,要么直接修改对象添加相应的功能,要么派生对应的子类来扩展,抑或是使用对象组合的方式。显然,直接修改对应的类这种方式并不可取。在面向对象的设计中,而我们也应该尽量使用对象组合,而不是对象继承来扩展和复用功能。装饰器模式就是基于对象组合的方式,可以很灵活的给对象添加所需要的功能。装转载 2016-01-08 17:25:19 · 365 阅读 · 0 评论 -
代理模式与装饰模式的异同
代理模式和装饰模式有很大的相似之处,看代理模式的类图,可以看做是代理模式的类图,也可以看做是装饰模式的类图,因为他们之间太像了,像到什么程度?把实现的代码改一下就是装饰模式,改回来就是代理模式。追美女的一种方式是从她的朋友下手,让她的死党帮忙,那就离成功没有多远了。好,我们把她的死党作为这个美女的代理,开始的时候我们当然要和代理打交道了,我们用代理模式实现以下。定义一个接口,这个借口有一个转载 2016-06-30 16:27:42 · 353 阅读 · 0 评论 -
JAVA设计模式之单例模式
本文继续介绍23种设计模式系列之单例模式。概念: Java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例、饿汉式单例、登记式单例。 单例模式有以下特点: 1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。 单例模式确保某个类只有一个实例,而且自行实例化并向整转载 2016-08-16 11:43:13 · 298 阅读 · 0 评论 -
被遗忘的设计模式——空对象模式(Null Object Pattern)
12345 GoF(四人帮)那本《设计模式 可复用面向对象软件的基础》可谓是设计模式方面的经典之作,其中介绍的23种设计模式,也可谓是经典中的经典。但是,设计模式的种类绝不仅仅是这23种,除此之外还有很多巧妙可爱的设计模式值得我们学习。这些被遗忘的设计模式,也可以堪称经典之作。今天我们来一起学习被遗忘的设计模式——空对象转载 2016-10-09 14:27:10 · 440 阅读 · 0 评论