熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java高級技術 >> 正文

Java程序性能優化-裝飾者模式(2)

2013-11-23 20:01:07  來源: Java高級技術 

    裝飾者模式(

  裝飾者模式的核心思想在於無需將所有的邏輯核心內容構建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;     //構造核心數據但不包括格式

  }

  }

  PacketDecorator維護核心組件component對象它負責告知其子類其核心業務邏輯應該全權委托component完成自己僅僅是做增強處理

  public abstract class PacketDecorator implements IPacketCreator{

  IPacketCreator component;

  public PacketDecorator(IPacketCreator c){

  ccomponent=c;

  }

  }

  PacketHTMLHeaderCreator是具體的裝飾器它負責對核心發布的內容進行HTML格式化操作需要特別注意的是它委托了具體組件component進行核心業務處理

  public class PacketHTMLHeaderCreator extends PacketDecorator{

  public PacketHTMLHeaderCreator(IPacketCreator c) {

  super(c)

  }

  @Override

  public String handleContent() {         //將給定數據封裝成HTML

  StringBuffer sb=new StringBuffer()

  sbappend(<html>

  sbappend(<body>

  sbappend(componenthandleContent())

  sbappend(</body>

  sbappend(</html>\n

  return sbtoString()

  }

  }

       返回目錄Java程序性能優化讓你的Java程序更快更穩定

  編輯推薦

       Java程序設計培訓視頻教程

       JEE高級框架實戰培訓視頻教程

       JME移動開發實戰教學視頻

  Visual C++音頻/視頻技術開發與實戰

  Oracle索引技術

  ORACLEG數據庫開發優化指南


From:http://tw.wingwit.com/Article/program/Java/gj/201311/27823.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.