知识大全 Java程序性能优化-装饰者模式(3)

Posted

篇首语:要得惊人艺,须下苦功夫。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Java程序性能优化-装饰者模式(3)相关的知识,希望对你有一定的参考价值。

Java程序性能优化-装饰者模式(3)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

     装饰者模式( )

  PacketHTTPHeaderCreator与PacketHTMLHeaderCreator类似 但是它完成数据包HTTP头部的处理 其余业务处理依然交由内部的ponent完成

  public class PacketHTTPHeaderCreator extends PacketDecorator

  public PacketHTTPHeaderCreator(IPacketCreator c)

  super(c)

  

  @Override

  public String handleContent()          //对给定数据加上HTTP头信息

  StringBuffer sb=new StringBuffer()

  sb append( Cache Control:no cache\\n )

  sb append( Date:Mon Dec : : GMT\\n )

  sb append(ponent handleContent())

  return sb toString()

  

  

  对于装饰者模式 另一个值得关注的地方是它的使用方法 在本例中 通过层层构造和组装这些装饰者和被装饰者到一个对象中 使其有机地结合在一起工作

  public class Main

  public static void main(String[] args)

  IPacketCreator pc=new PacketHTTPHeaderCreator(

  new PacketHTMLHeaderCreator(

  new PacketBodyCreator()))

  System out println(pc handleContent())

  

  

  可以看到 通过装饰者的构造函数 将被装饰对象传入 本例中 共生成 个对象实例 作为核心组件的PacketBodyCreator最先被构造 其次是PacketHTMLHeaderCreator 最后才是PacketHTTPHeaderCreator

  这个顺序表示 首先由PacketBodyCreator对象去生成核心发布内容 接着由PacketHTMLHeaderCreator对象对这个内容进行处理 将其转化为HTML 最后由PacketHTTPHeaderCreator对PacketHTMLHeaderCreator的输出安置HTTP头部 程序运行的输出如下

  Cache Control:no cache

  Date:Mon Dec : : GMT

  <><body>Content of Packet</body></>

  图 是本例的调用堆栈 从调用堆栈中 读者应该可以更容易地理解各个组件间的相互关系

  图   装饰者模式示例调用堆栈

  在JDK的实现中 有不少组件也是用装饰者模式实现 其中 一个最典型的例子就是OutputStream和InputStream类族的实现 以OutputStream为例 OutputStream对象提供的方法比较简单 功能也比较弱 但通过各种装饰者的增强 OutputStream对象可以被赋予强大的功能

  图 显示了以OutputStream为核心的装饰者模式的实现 其中FileOutputStream为

  图   装饰者模式在OutputStream中的应用

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

  编辑推荐

       Java程序设计培训视频教程

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

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

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

  Oracle索引技术

cha138/Article/program/Java/gj/201311/27822

相关参考

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

Java程序性能优化-装饰者模式(2)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!   

知识大全 Java程序性能优化-装饰者模式(4)

Java程序性能优化-装饰者模式(4)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!   

知识大全 Java程序性能优化-代理模式(3)

Java程序性能优化-代理模式(3)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!   

知识大全 Java程序性能优化-单例模式(3)

Java程序性能优化-单例模式(3)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!   

知识大全 Java程序性能优化-观察者模式(3)

Java程序性能优化-观察者模式(3)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!   

知识大全 Java程序性能优化-代理模式(7)

Java程序性能优化-代理模式(7)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!   

知识大全 Java程序性能优化-代理模式(1)

Java程序性能优化-代理模式(1)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!   

知识大全 Java程序性能优化-代理模式(2)

Java程序性能优化-代理模式(2)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!   

知识大全 Java程序性能优化-代理模式(4)

Java程序性能优化-代理模式(4)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!   

知识大全 Java程序性能优化-代理模式(5)

Java程序性能优化-代理模式(5)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!