﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-Kyle's Space-文章分类-Design Pattern Learning and Sharing</title><link>http://www.blogjava.net/xiaodong0417/category/51477.html</link><description>Java Study</description><language>zh-cn</language><lastBuildDate>Sun, 22 Apr 2012 10:28:56 GMT</lastBuildDate><pubDate>Sun, 22 Apr 2012 10:28:56 GMT</pubDate><ttl>60</ttl><item><title>装饰模式（Decorator）简单示例</title><link>http://www.blogjava.net/xiaodong0417/articles/370625.html</link><dc:creator>王树东</dc:creator><author>王树东</author><pubDate>Thu, 23 Feb 2012 14:50:00 GMT</pubDate><guid>http://www.blogjava.net/xiaodong0417/articles/370625.html</guid><wfw:comment>http://www.blogjava.net/xiaodong0417/comments/370625.html</wfw:comment><comments>http://www.blogjava.net/xiaodong0417/articles/370625.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiaodong0417/comments/commentRss/370625.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiaodong0417/services/trackbacks/370625.html</trackback:ping><description><![CDATA[@import url(http://www.blogjava.net/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
<p>经常在别人的代码里看见 XWrapper，YWrapper，ZWrapper， 原来这种编程的策略就是装饰模式。装饰模式的类图如下：</p>
<p><img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/xiaodong0417/Decorator.png" width="407" height="325" /><br />
<br />
<br />
<br />
<br />
</p>
<div style="border-left-color: #cccccc; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; padding-top: 4px; "><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008080">&nbsp;1</span><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" alt="" /><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" alt="" /></span><span style="color: #008000">//</span><span style="color: #008000">Component</span><span style="color: #008000"><br />
</span><span style="color: #008080">&nbsp;3</span><span style="color: #008000"><img id="Codehighlighter1_37_61_Open_Image" onclick="this.style.display='none'; Codehighlighter1_37_61_Open_Text.style.display='none'; Codehighlighter1_37_61_Closed_Image.style.display='inline'; Codehighlighter1_37_61_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_37_61_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_37_61_Closed_Text.style.display='none'; Codehighlighter1_37_61_Open_Image.style.display='inline'; Codehighlighter1_37_61_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif"></span><span style="color: #0000ff">interface</span><span style="color: #000000">&nbsp;IDataRetriever</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_37_61_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_37_61_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;getData();<br />
</span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" alt="" />}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" alt="" /></span><span style="color: #008000">//</span><span style="color: #008000">Concrete&nbsp;Component</span><span style="color: #008000"><br />
</span><span style="color: #008080">&nbsp;7</span><span style="color: #008000"><img id="Codehighlighter1_129_195_Open_Image" onclick="this.style.display='none'; Codehighlighter1_129_195_Open_Text.style.display='none'; Codehighlighter1_129_195_Closed_Image.style.display='inline'; Codehighlighter1_129_195_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_129_195_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_129_195_Closed_Text.style.display='none'; Codehighlighter1_129_195_Open_Image.style.display='inline'; Codehighlighter1_129_195_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif"></span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;DataRetriever&nbsp;</span><span style="color: #0000ff">implements</span><span style="color: #000000">&nbsp;IDataRetriever</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_129_195_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_129_195_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img id="Codehighlighter1_151_193_Open_Image" onclick="this.style.display='none'; Codehighlighter1_151_193_Open_Text.style.display='none'; Codehighlighter1_151_193_Closed_Image.style.display='inline'; Codehighlighter1_151_193_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_151_193_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_151_193_Closed_Text.style.display='none'; Codehighlighter1_151_193_Open_Image.style.display='inline'; Codehighlighter1_151_193_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;getData()</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_151_193_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_151_193_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">Retrieve&nbsp;Data<img src="http://www.blogjava.net/Images/dot.gif" alt="" />.</span><span style="color: #000000">"</span><span style="color: #000000">;<br />
</span><span style="color: #008080">10</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">11</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" alt="" />}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">12</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" alt="" /></span><span style="color: #008000">//</span><span style="color: #008000">Abstract&nbsp;Decorator</span><span style="color: #008000"><br />
</span><span style="color: #008080">13</span><span style="color: #008000"><img id="Codehighlighter1_280_424_Open_Image" onclick="this.style.display='none'; Codehighlighter1_280_424_Open_Text.style.display='none'; Codehighlighter1_280_424_Closed_Image.style.display='inline'; Codehighlighter1_280_424_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_280_424_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_280_424_Closed_Text.style.display='none'; Codehighlighter1_280_424_Open_Image.style.display='inline'; Codehighlighter1_280_424_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif"></span><span style="color: #0000ff">abstract</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;AbstractDataRetriever&nbsp;</span><span style="color: #0000ff">implements</span><span style="color: #000000">&nbsp;IDataRetriever</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_280_424_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_280_424_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">14</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">protected</span><span style="color: #000000">&nbsp;IDataRetriever&nbsp;retriever;<br />
</span><span style="color: #008080">15</span><span style="color: #000000"><img id="Codehighlighter1_380_422_Open_Image" onclick="this.style.display='none'; Codehighlighter1_380_422_Open_Text.style.display='none'; Codehighlighter1_380_422_Closed_Image.style.display='inline'; Codehighlighter1_380_422_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_380_422_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_380_422_Closed_Text.style.display='none'; Codehighlighter1_380_422_Open_Image.style.display='inline'; Codehighlighter1_380_422_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;AbstractDataRetriever(IDataRetriever&nbsp;retriever)</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_380_422_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_380_422_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">16</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.retriever&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;retriever;<br />
</span><span style="color: #008080">17</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">18</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" alt="" />}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">19</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" alt="" /></span><span style="color: #008000">//</span><span style="color: #008000">Concrete&nbsp;Decorator</span><span style="color: #008000"><br />
</span><span style="color: #008080">20</span><span style="color: #008000"><img id="Codehighlighter1_503_692_Open_Image" onclick="this.style.display='none'; Codehighlighter1_503_692_Open_Text.style.display='none'; Codehighlighter1_503_692_Closed_Image.style.display='inline'; Codehighlighter1_503_692_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_503_692_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_503_692_Closed_Text.style.display='none'; Codehighlighter1_503_692_Open_Image.style.display='inline'; Codehighlighter1_503_692_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif"></span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;DataRetrieverWrapper&nbsp;</span><span style="color: #0000ff">extends</span><span style="color: #000000">&nbsp;AbstractDataRetriever</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_503_692_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_503_692_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">21</span><span style="color: #000000"><img id="Codehighlighter1_555_587_Open_Image" onclick="this.style.display='none'; Codehighlighter1_555_587_Open_Text.style.display='none'; Codehighlighter1_555_587_Closed_Image.style.display='inline'; Codehighlighter1_555_587_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_555_587_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_555_587_Closed_Text.style.display='none'; Codehighlighter1_555_587_Open_Image.style.display='inline'; Codehighlighter1_555_587_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;DataRetrieverWrapper(IDataRetriever&nbsp;retriever)</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_555_587_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_555_587_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">22</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">super</span><span style="color: #000000">(retriever);<br />
</span><span style="color: #008080">23</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">24</span><span style="color: #000000"><img id="Codehighlighter1_609_690_Open_Image" onclick="this.style.display='none'; Codehighlighter1_609_690_Open_Text.style.display='none'; Codehighlighter1_609_690_Closed_Image.style.display='inline'; Codehighlighter1_609_690_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_609_690_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_609_690_Closed_Text.style.display='none'; Codehighlighter1_609_690_Open_Image.style.display='inline'; Codehighlighter1_609_690_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;getData()</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_609_690_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_609_690_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">25</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;println&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">processing&nbsp;data<img src="http://www.blogjava.net/Images/dot.gif" alt="" /><img src="http://www.blogjava.net/Images/dot.gif" alt="" /></span><span style="color: #000000">"</span><span style="color: #000000">;<br />
</span><span style="color: #008080">26</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.retriever.getData();<br />
</span><span style="color: #008080">27</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">28</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" alt="" />}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">29</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" alt="" /><br />
</span><span style="color: #008080">30</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" alt="" />def&nbsp;retriever&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;DataRetriever();<br />
</span><span style="color: #008080">31</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" alt="" />def&nbsp;wrapper&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;DataRetrieverWrapper(retriever);<br />
</span><span style="color: #008080">32</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" alt="" />wrapper.getData();<br />
</span><span style="color: #008080">33</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" alt="" /><br />
</span><span style="color: #008080">34</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" alt="" /><br />
</span><span style="color: #008080">35</span><span style="color: #000000"><img id="Codehighlighter1_853_928_Open_Image" onclick="this.style.display='none'; Codehighlighter1_853_928_Open_Text.style.display='none'; Codehighlighter1_853_928_Closed_Image.style.display='inline'; Codehighlighter1_853_928_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_853_928_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_853_928_Closed_Text.style.display='none'; Codehighlighter1_853_928_Open_Image.style.display='inline'; Codehighlighter1_853_928_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif"></span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;DatabaseRetriever&nbsp;</span><span style="color: #0000ff">implements</span><span style="color: #000000">&nbsp;IDataRetriever</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_853_928_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_853_928_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">36</span><span style="color: #000000"><img id="Codehighlighter1_875_926_Open_Image" onclick="this.style.display='none'; Codehighlighter1_875_926_Open_Text.style.display='none'; Codehighlighter1_875_926_Closed_Image.style.display='inline'; Codehighlighter1_875_926_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_875_926_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_875_926_Closed_Text.style.display='none'; Codehighlighter1_875_926_Open_Image.style.display='inline'; Codehighlighter1_875_926_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;getData()</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_875_926_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_875_926_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">37</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">Retrieve&nbsp;Data&nbsp;from&nbsp;Database</span><span style="color: #000000">"</span><span style="color: #000000">;<br />
</span><span style="color: #008080">38</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" />&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">39</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" alt="" />}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">40</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" alt="" /><br />
</span><span style="color: #008080">41</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" alt="" /><br />
</span><span style="color: #008080">42</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" alt="" />wrapper&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;DataRetrieverWrapper(</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;DatabaseRetriever());<br />
</span><span style="color: #008080">43</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" alt="" />wrapper.getData();<br />
</span><span style="color: #008080">44</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" alt="" /><br />
</span><span style="color: #008080">45</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" alt="" /></span></div><img src ="http://www.blogjava.net/xiaodong0417/aggbug/370625.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiaodong0417/" target="_blank">王树东</a> 2012-02-23 22:50 <a href="http://www.blogjava.net/xiaodong0417/articles/370625.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>