结构模式

结构模式

  结构型模式总共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。

装饰模式  

  

装饰模式UML图

  • Compent:抽象构件
  • ConcreteComponent:具体构件
  • Decorator:抽象装饰类
  • ConcreteDecorator:具体装饰类

装饰模式优缺点

  装饰器模式是一种用于代替继承的技术,无需通过继承增加子类就能扩展对象的新功能。使用对象的关联关系代替继承关系,更加灵活,在软件的维护阶段,由于关联关系有较好的松耦合性,因此使得系统更加容易维护。但是,关联关系的缺点是比继承关系要建立更多的对象,增加系统的复杂性,相对容易出错,且对于多次装饰的对象,调试错误较为繁琐。

典型的抽象装饰代码

public abstract class Component {
    
    public abstract void operation();
}
public class Decorator extends Component{
    private Component component;
    public Decorator(Component component)
    {
        this.component=component;
    }
    public void operation()
    {
        component.operation();
    }

}
public class ConcreteDecorator extends Decorator{
    public ConcreteDecorator(Component component)
    {
        super(component);
    }
    public void operation()
    {
        super.operation();
        addedBehavior();
    }
    public void addedBehavior()
    {
                  //新增方法    
        }

}

 

一个实例

    现在有一辆车,现在增加几种行驶方式的功能。

 

 

 

 

 

 

 

 

 

 

posted @ 2020-04-08 00:01  崔小磊  阅读(508)  评论(0编辑  收藏  举报