装饰模式
23 Aug 2017
在不改变原有实现的基础上,实现功能的扩展。并且可以多次叠加扩展。
被装饰者始终不变。装饰者在设定了要装饰对象以后也变成了一个被装饰者。
实例:咖啡店
咖啡店有多种咖啡,每种有对应的价格。
咖啡可以任意添加调味,比如,牛奶,糖,豆浆…
要计算 加一份牛奶,两份糖的拿铁咖啡的价格。
类图:
baseobject.h
baseobject.cc
americano.h
americano.cc
flavourobject.h
flavourobject.cc
milk.h
milk.cc
suger.h
main.cc