您现在的位置是:首页 >

Java程序性能优化-装饰者模式(2)

火烧 2021-12-29 21:29:30 1033
Java程序性能优化-装饰者模式(2)    装饰者模式( )  装饰者模式的核心思想在于 无需将所有的逻辑 即 核心内容构建 HTML文本构造和HTTP头生成等 个功能模块粘合在一起实现 通过装饰者

Java程序性能优化-装饰者模式(2)  

     装饰者模式( )

  装饰者模式的核心思想在于 无需将所有的逻辑 即 核心内容构建 HTML文本构造和HTTP头生成等 个功能模块粘合在一起实现 通过装饰者模式 可以将它们分解为 个几乎完全独立的组件 并在使用时灵活地进行装配 为实现这个功能 可以使用如图 所示的结构

  图   装饰者模式示例

  IPacketCreator即装饰接口 用于处理具体的内容 PacketBodyCreator是具体的组件 它的功能是构造要发布信息的核心内容 但是它不负责将其构造成一个格式工整 可直接发布的数据格式 PacketHTTPHeaderCreator负责对给定的内容加上HTTP头部 PacketHTMLHeaderCreator负责将给定的内容格式化成HTML文本 如图 所示 个功能模块相对独立且分离 易于系统维护

  IPacketCreator的实现很简单 它是一个单方法的接口

  public interface IPacketCreator {

  public String handleContent()           //用于内容处理

  }

  PacketBodyCreator用于返回数据包的核心数据

  public class PacketBodyCreator implements IPacketCreator{

  @Override

  public String handleContent() {

  return Content of Packet ;     //构造核心数据 但不包括格式

  }

Java程序性能优化-装饰者模式(2)

  }

  PacketDecorator维护核心组件ponent对象 它负责告知其子类 其核心业务逻辑应该全权委托ponent完成 自己仅仅是做增强处理

  public abstract class PacketDecorator implements IPacketCreator{

  IPacketCreator ponent;

  public PacketDecorator(IPacketCreator c){

  cponent=c;

  }

  }

  PacketHTMLHeaderCreator是具体的装饰器 它负责对核心发布的内容进行HTML格式化操作 需要特别注意的是 它委托了具体组件ponent进行核心业务处理

  public class PacketHTMLHeaderCreator extends PacketDecorator{

  public PacketHTMLHeaderCreator(IPacketCreator c) {

  super(c)

  }

  @Override

  public String handleContent() {         //将给定数据封装成HTML

  StringBuffer sb=new StringBuffer()

  sb append( <> )

  sb append( <body> )

  sb append(ponent handleContent())

  sb append( </body> )

  sb append( </>n )

  return sb toString()

  }

  }

      返回目录Java程序性能优化 让你的Java程序更快 更稳定

  编辑推荐

       Java程序设计培训视频教程

       J EE高级框架实战培训视频教程

       J ME移动开发实战教学视频

  Visual C++音频/视频技术开发与实战

  Oracle索引技术

lishixinzhi/Article/program/Java/gj/201311/27823  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码