相关文章
设计模式(一)设计六大原则
设计模式(二)单例模式的七种写法
设计模式(三)建造者模式
设计模式(四)简单工厂模式
设计模式(五)观察者模式
设计模式(六)代理模式
1.装饰模式简介
装饰模式介绍
装饰模式是结构型设计模式之一,不必改变类文件和使用继承的情况下,动态地扩展一个对象的功能,是继承的替代方案之一。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。
定义
动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。
装饰模式结构图
- Component:抽象组件,给对象动态的添加职责。
- ConcreteComponent:组件具体实现类。
- Decorator:抽象装饰者,继承Component,从外类来拓展Component类的功能,但对于Component来说无需知道Decorator的存在。
- ConcreteDecorator:装饰者具体实现类。
2.装饰模式的简单实现
装饰模式在现实生活中有很多例子,比如给一个人穿上各种衣服,给一幅画涂色上框等等,这次我要举得例子有些不同,举一个武侠修炼武功的例子:杨过本身就会全真剑法,有两位武学前辈洪七公和欧阳锋分别传授杨过打狗棒法和蛤蟆功,这样杨过除了会全真剑法还会打狗棒法和蛤蟆功。
抽象组件(Component)
作为武侠肯定要会使用武功的,我们先定义一个武侠的抽象类,里