其他分享
首页 > 其他分享> > 设计模式之--装饰器模式

设计模式之--装饰器模式

作者:互联网

设计模式之–装饰器模式

简介:

本篇文章是介绍 23 中设计模式中的结构型设计模式中的装饰器模式.使用的是 Java 代码.

目录:

1.什么是装饰器模式

2.装饰器模式的使用场景和优点

3.装饰器模式的简单运用

1.什么是装饰器模式

定义:

  装饰模式是结构型设计模式之一, 其在不必改变类文件和使用继承的情况下, 动态地扩展一个对象的功能,是继承的替代方案之一. 它通过创建一个包装对象, 也是装饰来包裹真实的对象.

动态地给一个对象添加一个额外的职责, 就增加功能来说, 装饰模式比生成子类更灵活.

结构:

装饰模式结构

可以是接口或抽象类, 被装饰的原始对象.

Component的具体实现类, 被装饰的具体对象.

从外类拓展 Component类的功能, 但对于 Component 来说无须知道 Decorator 的存在. 在它的属性中必然有一个 private 变量指向 Component 抽象组件.

抽象装饰者的具体实现.

2.装饰器模式的使用场景和优点

使用场景:

优点:

缺点:

3.装饰器模式的简单运用

抽象组件


public interface Component {
    
    public void biu();
}

组件具体实现类


public class ConcretComponent implements Component {

    public void biu() {
        
        System.out.println("biubiubiu");
    }
}

抽象装饰者类


public class Decorator implements Component {

    public Component component;
    
    public Decorator(Component component) {
        
        this.component = component;
    }
    
    public void biu() {
        
        this.component.biu();
    }
}

装饰者具体实现类


public class ConcreteDecorator extends Decorator {

    public ConcreteDecorator(Component component) {

        super(component);
    }

    public void biu() {
        
        System.out.println("ready?go!");
        this.component.biu();
    }
}

客户端调用


Component component = new ConcreteDecorator(new ConcretComponent());
  component.biu();

标签:biu,Component,component,模式,public,设计模式,装饰
来源: https://blog.csdn.net/sinat_34394641/article/details/89071981