设计模式(Decorator Pattern)——装饰者模式
一、装饰者模式简介
- 在HeadFirst 介绍装饰者模式的导论中,这么介绍装饰者模式给爱用继承的人一个全新的设计眼界
- 那么更通俗讲,什么是装饰者模式呢?装饰者,包装原有的对象,使之变成具有包装着功能的新事物。
- 举个栗子,你去一家面馆吃面,这是一家专门做面食的餐馆,有面条,汤料,狮子头,烤肠,豆皮,酱料包……,然后顾客来吃面的时候,首先准备一碗面条,然后根据顾客的需求,爱吃炸酱的,带汤的,加卤蛋,豆皮等等……(可以说是以这些辅料来装饰面条得到你需要的)
二、装饰者模式定义
- 动态地将职责附加到对象上,若要扩展功能,装饰者提供了比继承更有弹性的代替方案
- 如图是装饰者模式类图说明
- 我们来看一下面馆里面的例子
- 装饰者模式demo就不列出来了。依据如上的逻辑,代码实现应该很简单,若有不对的地方,欢迎批评指正!