您现在所在位置: 首页 > 睿道新闻

Java装饰者模式简介

发布时间:2020-10-09点击数:


  把很多要完成的功能,加载在子类上,类的继承,看起来很笨重,装饰着模式是在没有更改固有类文档和使用继承的状况下,借助建立一个包裝对象动态地拓展一个对象的功能,相比较形成子类更加灵活多变。下边我来为大伙儿介绍一下Java装饰者模式。


  在装饰模式中的角色有:


  ●抽象构件(Component)角色:得出一个抽象插口,以标准提前准备接受额外义务的对象。


  ●实际构件(ConcreteComponent)角色:界定一个即将接受额外义务的类。


  ●装饰(Decorator)角色:拥有一个构件(Component)对象的案例,并界定一个与抽象构件插口一致的插口。


  ●实际装饰(ConcreteDecorator)角色:承担给构件对象“贴上”额外的义务


  源码


  抽象构件角色


  publicinterfaceComponent{


  publicvoidsampleOperation();


  }


  实际构件角色


  publicclassConcreteComponentimplementsComponent{


  @Override


  publicvoidsampleOperation(){


  //写相关的业务代码


  }


  }


  装饰角色


  publicclassDecoratorimplementsComponent{


  privateComponentcomponent;


  publicDecorator(Componentcomponent){


  this.component=component;


  }


  @Override


  publicvoidsampleOperation(){


  //委任给构件


  component.sampleOperation();


  }


  }


  实际装饰角色


  publicclassConcreteDecoratorAextendsDecorator{


  publicConcreteDecoratorA(Componentcomponent){


  super(component);


  }


  @Override


  publicvoidsampleOperation(){


  super.sampleOperation();


  //写相关的业务代码


  }


  }



  • 友情链接

关注东软睿道公众号了解更多IT行业资讯

添加东小萌微信
获取更多IT学习资源