本帖最后由 洛漠O_o 于 2014-7-28 16:20 编辑
装饰模式是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。 Decorator Pattern和Single Pattern都是软件设计模式中比较简单的模式。
根据我个人的理解做了下图: - public class Test {
- public static void main(String[] args) {
- IBaseDecorator oneDecorator =new OneDecorator();
- IBaseDecorator twoDecorator =new TwoDecorator(oneDecorator);
- System.out.println(twoDecorator.sysOut());
- }
- }
- //装饰类的接口
- interface IBaseDecorator {
- public String sysOut();
- }
- //第一个实现接口类的实体,我叫做鸡肋(基类)
- class OneDecorator implements IBaseDecorator {
- @Override
- public String sysOut() {
- return "-【最原始的类--我是最原始的信息--最原始的类结束】-";
- }
- }
- //第二个实现接口类的实体,有一个构造方法
- class TwoDecorator implements IBaseDecorator {
- private IBaseDecorator twoDecorator;
- public TwoDecorator(IBaseDecorator twoDecorator) {//声明的是接口IBaseDecorator,所以凡是实现该接口类的实体,都可以传进来
- this.twoDecorator = twoDecorator;
- }
- @Override
- public String sysOut() {//对传进来的类进行处理,为了说明原理,我这里只是简单处理下
- return "【对其进行装饰==" + twoDecorator.sysOut() + "==对其进行装饰结束】";
- }
- }
- /*打印结果:
- 【对其进行装饰==-【最原始的类--我是最原始的信息--最原始的类结束】-==对其进行装饰结束】
- */
复制代码
|