大话设计模式C++版——装饰模式

女人常说男人喜新厌旧,只见新人笑,那闻旧人哭,但装饰模式(Decorator)却是一种结交新朋友不忘老朋友的设计模式,非常适合去古代当老公(现代是不行的,因为只能娶一个老婆了)。装饰模式的本质是每一个装饰对象都被保留一个被其装饰的对象,装饰对象在展示新功能时会同时去调用被其装饰的对象的同功能函数,通过如此层层包含调用(即装饰),形成一个类似链表的结构,接下来的介绍中,我们还会看到更多的类似链表结构的设计模式,比如职责链模式、状态模式。
       仍以《大话设计模式》一书中装饰模式的小菜穿衣的例子为例,来看看装饰模式是如何做到家里红旗不倒,外面彩旗飘飘的。小菜要去会妹子,临行前为了给妹子留个好印象,精选牛仔裤一条,然后搭上简约风T恤,装扮一新后出门,为了能够让小菜搭配任何衣服,使用装饰模式描述这一过程。
1、穿衣基类,只有一个函数Show(),显示穿的衣服

class CDress
{
public:
	virtual	~CDress()	{}

	virtual	void	Show()
	{
		printf("dressed boy.\n");
	}
};

2、装饰类基类

class CFinery : public CDres
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

shengyin714959

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值