﻿<?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>博客园-Reeezak's Home</title><link>http://www.cnblogs.com/Reeezak/</link><description>Your angel will defend you, even if it means risking life!</description><language>zh-cn</language><lastBuildDate>Sat, 11 Oct 2008 05:52:49 GMT</lastBuildDate><pubDate>Sat, 11 Oct 2008 05:52:49 GMT</pubDate><ttl>60</ttl><item><title>[翻译]JavaScript性能测试</title><link>http://www.cnblogs.com/Reeezak/archive/2008/09/11/javascript_performance.html</link><dc:creator>电机拖动</dc:creator><author>电机拖动</author><pubDate>Wed, 10 Sep 2008 18:15:00 GMT</pubDate><guid>http://www.cnblogs.com/Reeezak/archive/2008/09/11/javascript_performance.html</guid><wfw:comment>http://www.cnblogs.com/Reeezak/comments/1288777.html</wfw:comment><comments>http://www.cnblogs.com/Reeezak/archive/2008/09/11/javascript_performance.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnblogs.com/Reeezak/comments/commentRss/1288777.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Reeezak/services/trackbacks/1288777.html</trackback:ping><description><![CDATA[<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">一个全新的</span><span lang="EN-US"><span style="font-family: Calibri">JavaScript</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">引擎诞生了：</span><span lang="EN-US"><a href="http://code.google.com/p/v8/"><span style="font-family: Calibri">V8</span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin"><span lang="EN-US">引擎</span></span></a></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">（</span><span lang="EN-US"><span style="font-family: Calibri">Google</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">新推出的</span><span lang="EN-US"><span style="font-family: Calibri">Chrome</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">浏览器就用到了它）。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US"><span style="font-family: Calibri">&nbsp;</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">市面上有一大堆的</span><span lang="EN-US"><span style="font-family: Calibri">JavaScript</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">引擎（光是浏览器所常用的那些就已经够多的了）：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 21pt; text-indent: -21pt; mso-char-indent-count: 0; mso-list: l0 level1 lfo1"><span lang="EN-US" style="mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"><span style="mso-list: Ignore"><span style="font-family: Calibri">1.</span><span style="font-family: 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span lang="EN-US"><span style="font-family: Calibri">JavaScriptCore</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">：</span><span lang="EN-US"><span style="font-family: Calibri">Safari/WebKit</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">（</span><span lang="EN-US"><span style="font-family: Calibri">Safari 3.1</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">以前的版本）用的是这个引擎。</span></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 21pt; text-indent: -21pt; mso-char-indent-count: 0; mso-list: l0 level1 lfo1"><span lang="EN-US" style="mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"><span style="mso-list: Ignore"><span style="font-family: Calibri">2.</span><span style="font-family: 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span lang="EN-US"><a href="http://webkit.org/blog/189/announcing-squirrelfish/"><span style="font-family: Calibri">SquirrelFish</span></a></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">：该引擎用于</span><span lang="EN-US"><span style="font-family: Calibri">Safari 4.0</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">。<strong style="mso-bidi-font-weight: normal">注意：</strong>最新的</span><span lang="EN-US"><span style="font-family: Calibri">WebKit nightly for Windows</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">在</span><span lang="EN-US"><span style="font-family: Calibri">Dromaeo</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">测试中会崩溃，所以暂时就无视它吧。</span></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 21pt; text-indent: -21pt; mso-char-indent-count: 0; mso-list: l0 level1 lfo1"><span lang="EN-US" style="mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"><span style="mso-list: Ignore"><span style="font-family: Calibri">3.</span><span style="font-family: 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span lang="EN-US"><a href="http://code.google.com/p/v8/"><span style="font-family: Calibri">V8</span></a></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">：该引擎用于</span><span lang="EN-US"><span style="font-family: Calibri">Google Chrome</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">。</span></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 21pt; text-indent: -21pt; mso-char-indent-count: 0; mso-list: l0 level1 lfo1"><span lang="EN-US" style="mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"><span style="mso-list: Ignore"><span style="font-family: Calibri">4.</span><span style="font-family: 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span lang="EN-US"><span style="font-family: Calibri">SpiderMonkey</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">：</span><span lang="EN-US"><span style="font-family: Calibri">Firefox</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">（</span><span lang="EN-US"><span style="font-family: Calibri">Firefox 3.0</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">或更早的版本）用的是这个引擎。</span></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 21pt; text-indent: -21pt; mso-char-indent-count: 0; mso-list: l0 level1 lfo1"><span lang="EN-US" style="mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"><span style="mso-list: Ignore"><span style="font-family: Calibri">5.</span><span style="font-family: 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span lang="EN-US"><a href="http://ejohn.org/blog/tracemonkey/"><span style="font-family: Calibri">TraceMonkey</span></a></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">：</span><span lang="EN-US"><span style="font-family: Calibri">3.1</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">以及更高版本的</span><span lang="EN-US"><span style="font-family: Calibri">Firefox</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">将使用这个引擎（现在已经有了，只是默认被禁用了而已）。</span></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 21pt; text-indent: -21pt; mso-char-indent-count: 0; mso-list: l0 level1 lfo1"><span lang="EN-US" style="mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"><span style="mso-list: Ignore"><span style="font-family: Calibri">6.</span><span style="font-family: 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span lang="EN-US"><span style="font-family: Calibri">Futhark</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">：该引擎用于</span><span lang="EN-US"><span style="font-family: Calibri">Opera 9.5</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">及其更高版本中。</span></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 21pt; text-indent: -21pt; mso-char-indent-count: 0; mso-list: l0 level1 lfo1"><span lang="EN-US" style="mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"><span style="mso-list: Ignore"><span style="font-family: Calibri">7.</span><span style="font-family: 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span lang="EN-US"><span style="font-family: Calibri">IE Jscript</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">：</span><span lang="EN-US"><span style="font-family: Calibri">Internet Explorer</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">用的就是这个引擎了。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US"><span style="font-family: Calibri">&nbsp;</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">关于上述浏览器的性能测试已经有很多了，其中有些测试还包括了刚出锅的</span><span lang="EN-US"><span style="font-family: Calibri">Chrome</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">。我们很有必要仔细地研究一下这些测试，并尝试找出它们所关注的测试目标及其测试结果具体对应于哪些实际的网页性能。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US"><span style="font-family: Calibri">&nbsp;</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">本文将要讨论的测试平台有以下三种：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US"><a href="http://www2.webkit.org/perf/sunspider-0.9/sunspider.html"><span style="font-family: Calibri">SunSpider</span></a></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">：它是较为流行的</span><span lang="EN-US"><span style="font-family: Calibri">JavaScript</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">性能测试平台，由</span><span lang="EN-US"><span style="font-family: Calibri">WebKit</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">团队开发；仅测试</span><span lang="EN-US"><span style="font-family: Calibri">JavaScript</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">引擎（不含渲染及</span><span lang="EN-US"><span style="font-family: Calibri">DOM</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">操作）的性能；拥有许多的测试类型（如对象、函数调用、数学、递归&#8230;&#8230;等等）。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US"><a href="http://code.google.com/apis/v8/run.html"><span style="font-family: Calibri">V8 Benchmark</span></a></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">：它是由</span><span lang="EN-US"><span style="font-family: Calibri">V8</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">团队开发的一种性能基准测试平台，仅测试</span><span lang="EN-US"><span style="font-family: Calibri">JavaScript</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">性能（尤其关注递归的性能测试）。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US"><a href="http://v2.dromaeo.com/"><span style="font-family: Calibri">Dromaeo</span></a></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">：该测试平台由</span><span lang="EN-US"><span style="font-family: Calibri">Mozilla</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">开发，用于测试</span><span lang="EN-US"><span style="font-family: Calibri">JavaScript</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">、</span><span lang="EN-US"><span style="font-family: Calibri">DOM</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">以及</span><span lang="EN-US"><span style="font-family: Calibri">JavaScript Library</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的能；拥有大量的测试类型，其中大部分用于分析</span><span lang="EN-US"><span style="font-family: Calibri">DOM</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">和</span><span lang="EN-US"><span style="font-family: Calibri">JavaScript</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">库的性能。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US"><span style="font-family: Calibri">&nbsp;</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; mso-outline-level: 1"><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-size: 18pt"><span style="font-family: Calibri">SunSpider</span></span></strong></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt">&nbsp;</p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">我们先来看看</span><span lang="EN-US"><span style="font-family: Calibri">WebKit</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的</span><span lang="EN-US"><span style="font-family: Calibri">SunSpider</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">测试结果（它有着大量的纯</span><span lang="EN-US"><span style="font-family: Calibri">JavaScript</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">功能）。下图为详细的测试结果：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin"><img height="384" alt="" src="http://www.cnblogs.com/images/cnblogs_com/reeezak/2008/Translate/js-sunspider-all_sm.jpg" width="512" border="0" /></span></p>
<p><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US"><span style="font-family: Calibri">&nbsp;</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">可以发现，这是一条由</span><span lang="EN-US"><span style="font-family: Calibri">Chrome</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">开始逐步向上的曲线（无视早期的</span><span lang="EN-US"><span style="font-family: Calibri">Internet Explorer</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">）。显然，</span><span lang="EN-US"><span style="font-family: Calibri">Chrome</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">是最快的（不过，这里并没有包含针对</span><span lang="EN-US"><span style="font-family: Calibri">TraceMonkey</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">引擎的测试结果）。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US"><span style="font-family: Calibri">&nbsp;</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">昨天晚上，</span><span lang="EN-US"><span style="font-family: Calibri">Brendan Eich</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">将最新的</span><span lang="EN-US"><span style="font-family: Calibri">TraceMonkey</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">代码搞了出来，并把它跟</span><span lang="EN-US"><span style="font-family: Calibri">V8</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">放在一起做了个</span><span lang="EN-US"><a href="http://weblogs.mozillazine.org/roadmap/archives/2008/09/tracemonkey_update.html"><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin"><span lang="EN-US">比较</span></span></a></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><img height="384" alt="" src="http://www.cnblogs.com/images/cnblogs_com/reeezak/2008/Translate/js-sunspider-v8tm_sm.jpg" width="512" border="0" /></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt">&nbsp;</p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">可以发现，</span><span lang="EN-US"><span style="font-family: Calibri">TraceMonkey</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">（开发了约两个月）的性能要比</span><span lang="EN-US"><span style="font-family: Calibri">V8</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">（开发了约两年）好一些。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US"><span style="font-family: Calibri">&nbsp;</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">这里，</span><span lang="EN-US"><span style="font-family: Calibri">TraceMonkey</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的最大问题在于其递归回溯</span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的能力。目前，递归调用时还没有任何的回溯（这就使得</span><span lang="EN-US"><span style="font-family: Calibri">TraceMonkey</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">在递归时要比</span><span lang="EN-US"><span style="font-family: Calibri">V8</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">慢差不多</span><span lang="EN-US"><span style="font-family: Calibri">10</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">倍）。当递归回溯功能加入到</span><span lang="EN-US"><span style="font-family: Calibri">Firefox 3.1</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">之后，我相信上面那个结果仍然会出现的。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US"><span style="font-family: Calibri">&nbsp;</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; mso-outline-level: 1"><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-size: 18pt"><span style="font-family: Calibri">Google Chrome Benchmark</span></span></strong></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt">&nbsp;</p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US"><span style="font-family: Calibri">Chrome</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">团队发布了</span><span lang="EN-US"><a href="http://code.google.com/apis/v8/run.html"><span lang="EN-US" style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin"><span lang="EN-US">他们自己的</span></span></a></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">用于分析</span><span lang="EN-US"><span style="font-family: Calibri">JavaScript</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">性能的测试平台。它含有一些新的测试（即不同于</span><span lang="EN-US"><span style="font-family: Calibri">SunSpider</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的那些），而且有着非常变态的递归：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin"><img height="384" alt="" src="http://www.cnblogs.com/images/cnblogs_com/reeezak/2008/Translate/js-chrome_sm.jpg" width="512" border="0" /></span></p>
<p><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US"><span style="font-family: Calibri">&nbsp;</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">通过这些测试，我们可以发现</span><span lang="EN-US"><span style="font-family: Calibri">Chrome</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">直接秒杀了其他浏览器。这些测试是否能够说明真实的浏览器性能呢？这个问题还是有待商榷的，因为它只是高度关注了</span><span lang="EN-US"><span style="font-family: Calibri">JavaScript</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">中的一些细节功能而已。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US"><span style="font-family: Calibri">&nbsp;</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">注意，</span><span lang="EN-US"><span style="font-family: Calibri">TraceMonkey</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">表现得很差：由于没有递归回溯，因此它在这里占不到任何便宜（就像前面所解释的那样）。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US"><span style="font-family: Calibri">&nbsp;</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; mso-outline-level: 1"><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-size: 18pt"><span style="font-family: Calibri">Dromaeo with DOM</span></span></strong></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt">&nbsp;</p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">最后，我们来更全面地看看</span><span lang="EN-US"><span style="font-family: Calibri">JavaScript</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的性能。我一直在维护</span><span lang="EN-US"><a href="http://v2.dromaeo.com/"><span style="font-family: Calibri">Dromaeo</span><span lang="EN-US" style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin"><span lang="EN-US">测试平台</span></span></a></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">，已经添加了大量新的</span><span lang="EN-US"><span style="font-family: Calibri">DOM</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">和</span><span lang="EN-US"><span style="font-family: Calibri">JavaScript</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">库测试。它能够提供更加权威的浏览器性能报告，即关注浏览器在进行正常的</span><span lang="EN-US"><span style="font-family: Calibri">Web</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">浏览时的性能表现。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US"><span style="font-family: Calibri">&nbsp;</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">考虑到大部分网页都受制于</span><span lang="EN-US"><span style="font-family: Calibri">DOM</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的性能（想想</span><span lang="EN-US"><span style="font-family: Calibri">table sorter</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">之类的东西就明白了）而不是</span><span lang="EN-US"><span style="font-family: Calibri">JavaScript</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的性能（如游戏、图形等），因此很有必要仔细看看这些扩展分析的结果。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US"><span style="font-family: Calibri">&nbsp;</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">针对</span><span lang="EN-US"><span style="font-family: Calibri">JavaScript</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">、</span><span lang="EN-US"><span style="font-family: Calibri">DOM</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">以及库测试的</span><span lang="EN-US"><a href="http://v2.dromaeo.com/?id=24362,24507,25359,25471,25502"><span lang="EN-US" style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin"><span lang="EN-US">分析结果</span></span></a></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">（多谢</span><span lang="EN-US"><a href="http://weblogs.mozillazine.org/asa/"><span style="font-family: Calibri">Asa Dotzler</span></a></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">帮我搞掂了这些测试）：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin"><img height="384" alt="" src="http://www.cnblogs.com/images/cnblogs_com/reeezak/2008/Translate/js-dromaeo_sm.jpg" width="512" border="0" /></span></p>
</span>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">（比较郁闷的是，这里没有</span><span lang="EN-US"><span style="font-family: Calibri">IE</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的测试结果，因为该浏览器在测试时崩溃掉了。另外，我在</span><span lang="EN-US"><span style="font-family: Calibri">Windows</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">上运行</span><span lang="EN-US"><span style="font-family: Calibri">WebKit</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的各种</span><span lang="EN-US"><span style="font-family: Calibri">nightly</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">版本（包括</span><span lang="EN-US"><span style="font-family: Calibri">Squirrelfish</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">）时也遇到了麻烦，参见</span><span lang="EN-US"><a href="https://bugs.webkit.org/show_bug.cgi?id=20626"><span style="font-family: Calibri">Bug 20626</span></a></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">。）</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US"><span style="font-family: Calibri">&nbsp;</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">这里，我们看到了一张非常不同的图。基于</span><span lang="EN-US"><span style="font-family: Calibri">WebKit</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的引擎都有着绝对的领先优势，而</span><span lang="EN-US"><span style="font-family: Calibri">Chrome则</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">仅次于最新版的</span><span lang="EN-US"><span style="font-family: Calibri">Safari</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">。跟一般的</span><span lang="EN-US"><span style="font-family: Calibri">Firefox</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">相比，使用了</span><span lang="EN-US"><span style="font-family: Calibri">TraceMonkey</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的</span><span lang="EN-US"><span style="font-family: Calibri">Firefox</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">会有小幅的性能提升。在回溯被应用到</span><span lang="EN-US"><span style="font-family: Calibri">DOM</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">结构操作上之前，其全部的潜力是发挥不出来的（其实它现在根本就没这本事，估计要等到</span><span lang="EN-US"><span style="font-family: Calibri">Firefox 3.2</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">才行）。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US"><span style="font-family: Calibri">&nbsp;</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">有一件事是明摆着的：</span><span lang="EN-US"><span style="font-family: Calibri">JavaScript</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">性能的&#8220;跳蛙游戏&#8221;仍在继续（译者注：老外小时候会玩这游戏，貌似俺们小时候玩的是&#8220;跳马&#8221;，规则跟这个差不多。如果理解不了这个意思的话，请</span><span lang="EN-US"><span style="font-family: Calibri">google</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">一下</span><span lang="EN-US"><span style="font-family: Calibri">leapfrog</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">）。只要有多个</span><span lang="EN-US"><span style="font-family: Calibri">JavaScript</span></span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">引擎存在，这种&#8220;三十年河东三十年河西&#8221;的现象就只会越来越快（显然，这对于最终用户和应用程序开发人员来说，都无疑是一件大好事）。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US"><span style="font-family: Calibri">&nbsp;</span></span></span>&nbsp;</p>
<img src ="http://www.cnblogs.com/Reeezak/aggbug/1288777.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42936/" target="_blank">[新闻]金融风暴改写富豪榜排名　巴菲特资产超盖茨</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>新手可以借助Profiler学习TSQL</title><link>http://www.cnblogs.com/Reeezak/archive/2008/03/31/how_to_learn_tsql.html</link><dc:creator>电机拖动</dc:creator><author>电机拖动</author><pubDate>Mon, 31 Mar 2008 08:36:00 GMT</pubDate><guid>http://www.cnblogs.com/Reeezak/archive/2008/03/31/how_to_learn_tsql.html</guid><wfw:comment>http://www.cnblogs.com/Reeezak/comments/1131409.html</wfw:comment><comments>http://www.cnblogs.com/Reeezak/archive/2008/03/31/how_to_learn_tsql.html#Feedback</comments><slash:comments>8</slash:comments><wfw:commentRss>http://www.cnblogs.com/Reeezak/comments/commentRss/1131409.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Reeezak/services/trackbacks/1131409.html</trackback:ping><description><![CDATA[摘要: 如果你觉得T-SQL内容太多，学习起来比较没有成就感，那么可以试试每天看一条SQL语句的方式。而这些SQL语句也不需要到网上到处搜，SQL Server Management Studio本身就有许多……&nbsp;&nbsp;<a href='http://www.cnblogs.com/Reeezak/archive/2008/03/31/how_to_learn_tsql.html'>阅读全文</a><img src ="http://www.cnblogs.com/Reeezak/aggbug/1131409.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42935/" target="_blank">[新闻]红杉资本发出严重警告：黄金时代已成历史</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>如果《24》在94年播出的话……</title><link>http://www.cnblogs.com/Reeezak/archive/2008/03/25/1121687.html</link><dc:creator>电机拖动</dc:creator><author>电机拖动</author><pubDate>Tue, 25 Mar 2008 09:44:00 GMT</pubDate><guid>http://www.cnblogs.com/Reeezak/archive/2008/03/25/1121687.html</guid><wfw:comment>http://www.cnblogs.com/Reeezak/comments/1121687.html</wfw:comment><comments>http://www.cnblogs.com/Reeezak/archive/2008/03/25/1121687.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/Reeezak/comments/commentRss/1121687.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Reeezak/services/trackbacks/1121687.html</trackback:ping><description><![CDATA[摘要: 喜欢《24》的兄弟姐妹们留意了，这个绝对会让你喜欢的，哈哈哈哈&nbsp;&nbsp;<a href='http://www.cnblogs.com/Reeezak/archive/2008/03/25/1121687.html'>阅读全文</a><img src ="http://www.cnblogs.com/Reeezak/aggbug/1121687.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42934/" target="_blank">[新闻]2008年10月11日科技博客精选</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>两个当年的MS广告（暴笑）</title><link>http://www.cnblogs.com/Reeezak/archive/2008/03/25/1121670.html</link><dc:creator>电机拖动</dc:creator><author>电机拖动</author><pubDate>Tue, 25 Mar 2008 09:37:00 GMT</pubDate><guid>http://www.cnblogs.com/Reeezak/archive/2008/03/25/1121670.html</guid><wfw:comment>http://www.cnblogs.com/Reeezak/comments/1121670.html</wfw:comment><comments>http://www.cnblogs.com/Reeezak/archive/2008/03/25/1121670.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/Reeezak/comments/commentRss/1121670.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Reeezak/services/trackbacks/1121670.html</trackback:ping><description><![CDATA[摘要: 看看微软的这两个广告，有意思得很呢&nbsp;&nbsp;<a href='http://www.cnblogs.com/Reeezak/archive/2008/03/25/1121670.html'>阅读全文</a><img src ="http://www.cnblogs.com/Reeezak/aggbug/1121670.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42934/" target="_blank">[新闻]2008年10月11日科技博客精选</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>SQL Server中的两个有用的存储过程</title><link>http://www.cnblogs.com/Reeezak/archive/2008/03/19/sp_MSforeachtable.html</link><dc:creator>电机拖动</dc:creator><author>电机拖动</author><pubDate>Wed, 19 Mar 2008 08:33:00 GMT</pubDate><guid>http://www.cnblogs.com/Reeezak/archive/2008/03/19/sp_MSforeachtable.html</guid><wfw:comment>http://www.cnblogs.com/Reeezak/comments/1113381.html</wfw:comment><comments>http://www.cnblogs.com/Reeezak/archive/2008/03/19/sp_MSforeachtable.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnblogs.com/Reeezak/comments/commentRss/1113381.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Reeezak/services/trackbacks/1113381.html</trackback:ping><description><![CDATA[摘要: 简单说说sp_MSforeachtable的用法&nbsp;&nbsp;<a href='http://www.cnblogs.com/Reeezak/archive/2008/03/19/sp_MSforeachtable.html'>阅读全文</a><img src ="http://www.cnblogs.com/Reeezak/aggbug/1113381.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42933/" target="_blank">[新闻]搞死开心网还是搞活他？</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>重新回归</title><link>http://www.cnblogs.com/Reeezak/archive/2008/03/09/1097786.html</link><dc:creator>电机拖动</dc:creator><author>电机拖动</author><pubDate>Sun, 09 Mar 2008 13:24:00 GMT</pubDate><guid>http://www.cnblogs.com/Reeezak/archive/2008/03/09/1097786.html</guid><wfw:comment>http://www.cnblogs.com/Reeezak/comments/1097786.html</wfw:comment><comments>http://www.cnblogs.com/Reeezak/archive/2008/03/09/1097786.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/Reeezak/comments/commentRss/1097786.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Reeezak/services/trackbacks/1097786.html</trackback:ping><description><![CDATA[<span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">颓废了近</span><span lang="EN-US">3</span><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">个月了，期间游戏是玩够了，电视剧也看够了，现在是时候回归正常生活了&#8230;&#8230;</span>
<p class="MsoNormal"><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">最近准备丰富一下我这个已经荒废多时的博客了，都差不多长出蘑菇来了&#8230;&#8230;</span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">可惜的是，今后说不定不再从事编程方面的工作了，唉&#8230;&#8230;世事难料啊&#8230;&#8230;</span></p>
   <img src ="http://www.cnblogs.com/Reeezak/aggbug/1097786.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42932/" target="_blank">[新闻]网络书店“新”军</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>[翻译]Scott Mitchell 的ASP.NET 2.0数据教程之四十九：使用SqlDataSource插入、更新以及删除数据</title><link>http://www.cnblogs.com/Reeezak/archive/2007/08/20/862056.html</link><dc:creator>电机拖动</dc:creator><author>电机拖动</author><pubDate>Sun, 19 Aug 2007 16:19:00 GMT</pubDate><guid>http://www.cnblogs.com/Reeezak/archive/2007/08/20/862056.html</guid><wfw:comment>http://www.cnblogs.com/Reeezak/comments/862056.html</wfw:comment><comments>http://www.cnblogs.com/Reeezak/archive/2007/08/20/862056.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cnblogs.com/Reeezak/comments/commentRss/862056.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Reeezak/services/trackbacks/862056.html</trackback:ping><description><![CDATA[摘要: 在前面的那些教程中我们学习了如何使用ObjectDataSource来插入、更新已经删除数据。SqlDataSource也是支持这些操作的，但方法有些不同，本节教程就将介绍如何配置SqlDataSource以使其支持插入、更新已经删除数据。&nbsp;&nbsp;<a href='http://www.cnblogs.com/Reeezak/archive/2007/08/20/862056.html'>阅读全文</a><img src ="http://www.cnblogs.com/Reeezak/aggbug/862056.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42931/" target="_blank">[新闻]百度C2C电子商务平台“有啊”youa.com上线</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>[翻译]Scott Mitchell 的ASP.NET 2.0数据教程之四十八：在SqlDataSource中使用参数化查询</title><link>http://www.cnblogs.com/Reeezak/archive/2007/08/18/861234.html</link><dc:creator>电机拖动</dc:creator><author>电机拖动</author><pubDate>Sat, 18 Aug 2007 14:18:00 GMT</pubDate><guid>http://www.cnblogs.com/Reeezak/archive/2007/08/18/861234.html</guid><wfw:comment>http://www.cnblogs.com/Reeezak/comments/861234.html</wfw:comment><comments>http://www.cnblogs.com/Reeezak/archive/2007/08/18/861234.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cnblogs.com/Reeezak/comments/commentRss/861234.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Reeezak/services/trackbacks/861234.html</trackback:ping><description><![CDATA[摘要: 在本节教程中，我们继续讨论SqlDataSource控件，并学习如何定义参数化查询。&nbsp;&nbsp;<a href='http://www.cnblogs.com/Reeezak/archive/2007/08/18/861234.html'>阅读全文</a><img src ="http://www.cnblogs.com/Reeezak/aggbug/861234.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42930/" target="_blank">[新闻]Silverlight 2.0正式版下周发布</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>[翻译]Scott Mitchell 的ASP.NET 2.0数据教程之四十七：使用SqlDataSource控件查询数据</title><link>http://www.cnblogs.com/Reeezak/archive/2007/08/15/856530.html</link><dc:creator>电机拖动</dc:creator><author>电机拖动</author><pubDate>Wed, 15 Aug 2007 04:31:00 GMT</pubDate><guid>http://www.cnblogs.com/Reeezak/archive/2007/08/15/856530.html</guid><wfw:comment>http://www.cnblogs.com/Reeezak/comments/856530.html</wfw:comment><comments>http://www.cnblogs.com/Reeezak/archive/2007/08/15/856530.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.cnblogs.com/Reeezak/comments/commentRss/856530.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Reeezak/services/trackbacks/856530.html</trackback:ping><description><![CDATA[摘要: 在ASP.NET 2.0中操作数据：使用SqlDataSource控件查询数据英文原版|本教程的代码(C#) | 翻译目录 | 原文目录导言到目前为止，我们所做的教程都使用了一个包含表示层、业务逻辑层以及数据访问层的分层架构。在第一节教程（创建一个数据访问层）中，我们讲解了数据访问层（DAL），第二节教程（创建一个业务逻辑层）中，我们又讲解了业务逻辑层。从教程&#8220;使用ObjectData&nbsp;&nbsp;<a href='http://www.cnblogs.com/Reeezak/archive/2007/08/15/856530.html'>阅读全文</a><img src ="http://www.cnblogs.com/Reeezak/aggbug/856530.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42925/" target="_blank">[新闻]Wikipedia“变心”，力挺Ubuntu</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>[翻译]Scott Mitchell的ASP.NET2.0数据教程中文版索引(Canceled!!)</title><link>http://www.cnblogs.com/Reeezak/archive/2007/08/13/853925.html</link><dc:creator>电机拖动</dc:creator><author>电机拖动</author><pubDate>Mon, 13 Aug 2007 08:31:00 GMT</pubDate><guid>http://www.cnblogs.com/Reeezak/archive/2007/08/13/853925.html</guid><wfw:comment>http://www.cnblogs.com/Reeezak/comments/853925.html</wfw:comment><comments>http://www.cnblogs.com/Reeezak/archive/2007/08/13/853925.html#Feedback</comments><slash:comments>18</slash:comments><wfw:commentRss>http://www.cnblogs.com/Reeezak/comments/commentRss/853925.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Reeezak/services/trackbacks/853925.html</trackback:ping><description><![CDATA[摘要: 停止翻译，因为已经有人翻译了后续章节，此处不再做重复工作&nbsp;&nbsp;<a href='http://www.cnblogs.com/Reeezak/archive/2007/08/13/853925.html'>阅读全文</a><img src ="http://www.cnblogs.com/Reeezak/aggbug/853925.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42924/" target="_blank">[新闻]“不可破解”的加密技术出</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>Evanescence - Origin</title><link>http://www.cnblogs.com/Reeezak/archive/2007/05/23/757496.html</link><dc:creator>电机拖动</dc:creator><author>电机拖动</author><pubDate>Wed, 23 May 2007 10:26:00 GMT</pubDate><guid>http://www.cnblogs.com/Reeezak/archive/2007/05/23/757496.html</guid><wfw:comment>http://www.cnblogs.com/Reeezak/comments/757496.html</wfw:comment><comments>http://www.cnblogs.com/Reeezak/archive/2007/05/23/757496.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/Reeezak/comments/commentRss/757496.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Reeezak/services/trackbacks/757496.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这张专辑不是那么好找的，别人说就算去了正规的音像店也买不到，因为Evanescence本来就没有打算宣传它。我不知道他们为什么要这样做，但这张专辑却绝对是一张不可多得的好东西。特别是whisper以及imaginary，真的是很好听的。<o:p>&nbsp;<br />
</o:p></p>
<p><br />
<span style="color: red">专辑曲目</span> <br />
01 Origin <br />
02 Whisper <br />
03 Imaginary <br />
04 My Immortal <br />
05 Where Will You Go <br />
06 Field Of Innocence <br />
07 Even In Death <br />
08 Anywhere <br />
09 Lies <br />
10 Away From Me <br />
11Eternal <br />
<br />
<br />
下面附上VeryCD上面的简介：<o:p>&nbsp;</o:p></p>
<span style="color: red">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt; mso-char-indent-count: 2.0"><span style="color: red; font-family: 新宋体">其实这张专集的确十分难找，因为<span lang="EN-US">Evanesence</span>似乎一直在对它做着冷处理，对外并没有宣传，在唱片店找到的希望为<span lang="EN-US">0</span>，就算是原盘也是极其稀有的。而且这张专集各个资料中记载的并不相同，有的说是<span lang="EN-US">10</span>首，有的说是<span lang="EN-US">12</span>首。对这张专集我不多说什么，大家自己下来听听吧。只要你喜欢《<span lang="EN-US">Fallen</span>》，那么《<span lang="EN-US">Origin</span>》就不会让你失望。 <strong><span lang="EN-US" style="background: #ffff66"><o:p></o:p></span></strong></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt; mso-char-indent-count: 2.0"><span lang="EN-US" style="color: red; font-family: 新宋体">Evanesence</span><span style="color: red; font-family: 新宋体">创始人是女主唱<span lang="EN-US">Amy Lee</span>和吉他手<span lang="EN-US">Ben Moody</span>。两人初次相识是在几年前的一次青年夏令营中，当时吉他手<span lang="EN-US">Ben Moody</span>已小有名气，而<span lang="EN-US">Amy Lee</span>当时还只是一名普通的夏令营营员。在一次夏令营的集体娱乐活动中，<span lang="EN-US">Ben Moody</span>第一次见到了<span lang="EN-US">Amy Lee</span>。当时营员们都在一个大型的体育馆中，<span lang="EN-US">Ben Moody</span>正坐在地上看其他的营员在打篮球。而在体育馆的另一侧是一个放着钢琴供营员们表演的一个小舞台。就在<span lang="EN-US">Ben Moody</span>感到无聊之际，他忽然听见有人在用钢琴谈奏<span lang="EN-US">Meatloaf</span>的《<span lang="EN-US">I Would Do Anything For Love</span>》，于是就向钢琴望去，只见一个女孩在自如的演奏着自己创作的一些歌曲。<span lang="EN-US">Ben Moody</span>被<span lang="EN-US">Amy Lee</span>精湛的技艺和那天籁般的嗓音震撼了，在内心深处，<span lang="EN-US">Ben Moody</span>已经认定：没有比她更适合的搭档了。不久之后，随着两人互相了解的逐步加深，<span lang="EN-US">Ben Moody</span>和<span lang="EN-US">Amy Lee</span>便开始用<span lang="EN-US">Evanesence</span>这个名字录制一些歌曲。如：《<span lang="EN-US">Give Unto Me</span>》和《<span lang="EN-US">Understanding</span>》。两人的金属风格也逐渐形成，这种风格在<span lang="EN-US">Goth Metal</span>应该属于<span lang="EN-US">Ethereal(</span>仙乐<span lang="EN-US">)</span>派。 <span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt; mso-char-indent-count: 2.0"><span style="color: red; font-family: 新宋体">乐队第一张<span lang="EN-US">EP</span>唱片于<span lang="EN-US">1998</span>年<span lang="EN-US">12</span>月乐队第一次在<span lang="EN-US">Vino</span>演出时发行，<span lang="EN-US">100</span>多张唱片当晚被狂热的乐迷抢购一空。由于女主唱<span lang="EN-US">Amy Lee</span>的个人实力，以及乐队独特的风格，使乐队此后颇受欢迎。随着乐队的日渐成熟，<span lang="EN-US">Evanesence</span>于<st1:chsdate year="2003" month="3" day="4" islunardate="False" isrocdate="False" w:st="on"><span lang="EN-US">2003</span>年<span lang="EN-US">3</span>月<span lang="EN-US">4</span>日</st1:chsdate>推出了这张处女唱片。<br />
<span lang="EN-US"><o:p></o:p></span></span></p>
<p style="color: red"></span><br />
&nbsp;<img alt="" src="http://www.cnblogs.com/images/cnblogs_com/reeezak/Misc/Music/Evanescence-Origin/1.jpg" border="0" /><br />
</p>
<p><br />
<img alt="" src="http://www.cnblogs.com/images/cnblogs_com/reeezak/Misc/Music/Evanescence-Origin/2.jpg" border="0" />&nbsp;</p>
<img src ="http://www.cnblogs.com/Reeezak/aggbug/757496.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42923/" target="_blank">[新闻]13款Firefox Gmail扩展</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>[翻译]Scott Mitchell 的ASP.NET 2.0数据教程之十五：在GridView的页脚中显示统计信息</title><link>http://www.cnblogs.com/Reeezak/archive/2006/07/09/446444.html</link><dc:creator>电机拖动</dc:creator><author>电机拖动</author><pubDate>Sun, 09 Jul 2006 07:04:00 GMT</pubDate><guid>http://www.cnblogs.com/Reeezak/archive/2006/07/09/446444.html</guid><wfw:comment>http://www.cnblogs.com/Reeezak/comments/446444.html</wfw:comment><comments>http://www.cnblogs.com/Reeezak/archive/2006/07/09/446444.html#Feedback</comments><slash:comments>10</slash:comments><wfw:commentRss>http://www.cnblogs.com/Reeezak/comments/commentRss/446444.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Reeezak/services/trackbacks/446444.html</trackback:ping><description><![CDATA[摘要: 非常好的ASP.NET 2.0入门教程，WWW.ASP.NET上面连载中&nbsp;&nbsp;<a href='http://www.cnblogs.com/Reeezak/archive/2006/07/09/446444.html'>阅读全文</a><img src ="http://www.cnblogs.com/Reeezak/aggbug/446444.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42922/" target="_blank">[新闻]支持鼠标手势的Chrome中文修改版</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>[翻译]Scott Mitchell 的ASP.NET 2.0数据教程之十四：使用FormView 的模板</title><link>http://www.cnblogs.com/Reeezak/archive/2006/07/07/445611.html</link><dc:creator>电机拖动</dc:creator><author>电机拖动</author><pubDate>Fri, 07 Jul 2006 15:28:00 GMT</pubDate><guid>http://www.cnblogs.com/Reeezak/archive/2006/07/07/445611.html</guid><wfw:comment>http://www.cnblogs.com/Reeezak/comments/445611.html</wfw:comment><comments>http://www.cnblogs.com/Reeezak/archive/2006/07/07/445611.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cnblogs.com/Reeezak/comments/commentRss/445611.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Reeezak/services/trackbacks/445611.html</trackback:ping><description><![CDATA[摘要: 非常好的ASP.NET 2.0入门教程，WWW.ASP.NET上面连载中&nbsp;&nbsp;<a href='http://www.cnblogs.com/Reeezak/archive/2006/07/07/445611.html'>阅读全文</a><img src ="http://www.cnblogs.com/Reeezak/aggbug/445611.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42921/" target="_blank">[新闻]调查显示：开源技术已进入企业主流</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>[翻译]Scott Mitchell 的ASP.NET 2.0数据教程之十三：在DetailsView控件中使用TemplateField</title><link>http://www.cnblogs.com/Reeezak/archive/2006/07/06/444700.html</link><dc:creator>电机拖动</dc:creator><author>电机拖动</author><pubDate>Thu, 06 Jul 2006 15:12:00 GMT</pubDate><guid>http://www.cnblogs.com/Reeezak/archive/2006/07/06/444700.html</guid><wfw:comment>http://www.cnblogs.com/Reeezak/comments/444700.html</wfw:comment><comments>http://www.cnblogs.com/Reeezak/archive/2006/07/06/444700.html#Feedback</comments><slash:comments>11</slash:comments><wfw:commentRss>http://www.cnblogs.com/Reeezak/comments/commentRss/444700.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Reeezak/services/trackbacks/444700.html</trackback:ping><description><![CDATA[摘要: 非常好的ASP.NET 2.0入门教程，WWW.ASP.NET上面连载中&nbsp;&nbsp;<a href='http://www.cnblogs.com/Reeezak/archive/2006/07/06/444700.html'>阅读全文</a><img src ="http://www.cnblogs.com/Reeezak/aggbug/444700.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42911/" target="_blank">[新闻]《第一财经周刊》:捅破下载软件公司的盈利窗户纸</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>[翻译]Scott Mitchell 的ASP.NET 2.0数据教程之十二：在GridView控件中使用TemplateField</title><link>http://www.cnblogs.com/Reeezak/archive/2006/07/06/444315.html</link><dc:creator>电机拖动</dc:creator><author>电机拖动</author><pubDate>Thu, 06 Jul 2006 07:32:00 GMT</pubDate><guid>http://www.cnblogs.com/Reeezak/archive/2006/07/06/444315.html</guid><wfw:comment>http://www.cnblogs.com/Reeezak/comments/444315.html</wfw:comment><comments>http://www.cnblogs.com/Reeezak/archive/2006/07/06/444315.html#Feedback</comments><slash:comments>22</slash:comments><wfw:commentRss>http://www.cnblogs.com/Reeezak/comments/commentRss/444315.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Reeezak/services/trackbacks/444315.html</trackback:ping><description><![CDATA[摘要: 非常好的ASP.NET 2.0入门教程，WWW.ASP.NET上面连载中&nbsp;&nbsp;<a href='http://www.cnblogs.com/Reeezak/archive/2006/07/06/444315.html'>阅读全文</a><img src ="http://www.cnblogs.com/Reeezak/aggbug/444315.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42911/" target="_blank">[新闻]《第一财经周刊》:捅破下载软件公司的盈利窗户纸</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>[翻译]Scott Mitchell 的ASP.NET 2.0数据教程之二：创建一个业务逻辑层</title><link>http://www.cnblogs.com/Reeezak/archive/2006/06/24/434439.html</link><dc:creator>电机拖动</dc:creator><author>电机拖动</author><pubDate>Fri, 23 Jun 2006 23:55:00 GMT</pubDate><guid>http://www.cnblogs.com/Reeezak/archive/2006/06/24/434439.html</guid><wfw:comment>http://www.cnblogs.com/Reeezak/comments/434439.html</wfw:comment><comments>http://www.cnblogs.com/Reeezak/archive/2006/06/24/434439.html#Feedback</comments><slash:comments>57</slash:comments><wfw:commentRss>http://www.cnblogs.com/Reeezak/comments/commentRss/434439.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Reeezak/services/trackbacks/434439.html</trackback:ping><description><![CDATA[摘要: 非常好的ASP.NET 2.0入门教程，WWW.ASP.NET上面连载中&nbsp;&nbsp;<a href='http://www.cnblogs.com/Reeezak/archive/2006/06/24/434439.html'>阅读全文</a><img src ="http://www.cnblogs.com/Reeezak/aggbug/434439.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42910/" target="_blank">[新闻]MySpace音乐下载量2周内破10亿 苹果用了3年</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>[SQLServer2000]TEMPDB丢失或TEMPDB文件损坏的服务器恢复</title><link>http://www.cnblogs.com/Reeezak/archive/2006/05/26/409795.html</link><dc:creator>电机拖动</dc:creator><author>电机拖动</author><pubDate>Fri, 26 May 2006 03:14:00 GMT</pubDate><guid>http://www.cnblogs.com/Reeezak/archive/2006/05/26/409795.html</guid><wfw:comment>http://www.cnblogs.com/Reeezak/comments/409795.html</wfw:comment><comments>http://www.cnblogs.com/Reeezak/archive/2006/05/26/409795.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/Reeezak/comments/commentRss/409795.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Reeezak/services/trackbacks/409795.html</trackback:ping><description><![CDATA[摘要: MS SQLSERVER可能因为TEMPDB的丢失而无法启动，这里给一个方法去修复这个问题。&nbsp;&nbsp;<a href='http://www.cnblogs.com/Reeezak/archive/2006/05/26/409795.html'>阅读全文</a><img src ="http://www.cnblogs.com/Reeezak/aggbug/409795.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42909/" target="_blank">[新闻]2008年10月10日科技博客精选</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>白话设计模式——FactoryMethod</title><link>http://www.cnblogs.com/Reeezak/archive/2005/10/31/265195.html</link><dc:creator>电机拖动</dc:creator><author>电机拖动</author><pubDate>Sun, 30 Oct 2005 16:12:00 GMT</pubDate><guid>http://www.cnblogs.com/Reeezak/archive/2005/10/31/265195.html</guid><wfw:comment>http://www.cnblogs.com/Reeezak/comments/265195.html</wfw:comment><comments>http://www.cnblogs.com/Reeezak/archive/2005/10/31/265195.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/Reeezak/comments/commentRss/265195.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Reeezak/services/trackbacks/265195.html</trackback:ping><description><![CDATA[&nbsp;
<p class=MsoNormal style="TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">&#8220;工厂方法&#8221;跟&#8220;抽象工厂&#8221;有些相似，这一点从名称上也是可以看出来的。&#8220;抽象工厂&#8221;主要是说生产一个系列的产品的工厂类，而&#8220;工厂方法&#8221;则是说生产一个产品的方法，我们完全可以把&#8220;抽象工厂&#8221;当作是一群&#8220;工厂方法&#8221;组合而成的，事实上，&#8220;抽象工厂&#8221;模式常常建立在&#8220;工厂方法&#8221;模式的基础上。</span></p>
<p class=MsoNormal style="TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">好了，来看一个例子。广本的冲压科里面，有几台巨型的冲压机，它们外观是一摸一样的，其实功能也一样，都是用来将钢板冲压成型的，但它们生产的产品却不一样，有的生产车顶，有的生产车门，有的生产发动机盖&#8230;&#8230;冲压机的生产厂家不会管你生产什么东西的，只是给你这样一台冲压机，要生产什么完全由你自己放进不同的模具而已。也就是说，广本要某台冲压机生产</span><span lang=EN-US>Fit</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的车门的话，只需要将</span><span lang=EN-US>Fit</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的车门模具放入其中就可以了，冲压机不会管什么模具的，只管哐当哐当的压就是了。</span></p>
<p class=MsoNormal style="TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">来看一个类图。<br><img src="http://www.cnblogs.com/images/cnblogs_com/reeezak/DesignPattern/FactoryMethod.jpg" border=0><br><br>&nbsp; </p>
<p class=MsoNormal style="TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">图中，我们可以看到，拥有不同模具的冲压机可以生产不同的产品。而且，冲压机在投入生产之前并不知道它要生产什么东西，只有在给定了模具后才知道要生产什么东西。好了，我们来看看把类图转换成代码的样子。</span></p>
<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img id=Code_Closed_Image onclick="this.style.display='none'; Code_Closed_Text.style.display='none'; Code_Open_Image.style.display='inline'; Code_Open_Text.style.display='inline';" height=16 src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width=11 align=top><img id=Code_Open_Image style="DISPLAY: none" onclick="this.style.display='none'; Code_Open_Text.style.display='none'; Code_Closed_Image.style.display='inline'; Code_Closed_Text.style.display='inline';" height=16 src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width=11 align=top><span id=Code_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">FactoryMethod</span><span id=Code_Open_Text style="DISPLAY: none"><br><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">abstract</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000">&nbsp;Part<br><img id=Codehighlighter1_31_34_Open_Image onclick="this.style.display='none'; Codehighlighter1_31_34_Open_Text.style.display='none'; Codehighlighter1_31_34_Closed_Image.style.display='inline'; Codehighlighter1_31_34_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_31_34_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_31_34_Closed_Text.style.display='none'; Codehighlighter1_31_34_Open_Image.style.display='inline'; Codehighlighter1_31_34_Open_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_31_34_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"></span><span id=Codehighlighter1_31_34_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000">&nbsp;Door&nbsp;:&nbsp;Part<br><img id=Codehighlighter1_64_67_Open_Image onclick="this.style.display='none'; Codehighlighter1_64_67_Open_Text.style.display='none'; Codehighlighter1_64_67_Closed_Image.style.display='inline'; Codehighlighter1_64_67_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_64_67_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_64_67_Closed_Text.style.display='none'; Codehighlighter1_64_67_Open_Image.style.display='inline'; Codehighlighter1_64_67_Open_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_64_67_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"></span><span id=Codehighlighter1_64_67_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000">&nbsp;Chassis&nbsp;:&nbsp;Part<br><img id=Codehighlighter1_100_103_Open_Image onclick="this.style.display='none'; Codehighlighter1_100_103_Open_Text.style.display='none'; Codehighlighter1_100_103_Closed_Image.style.display='inline'; Codehighlighter1_100_103_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_100_103_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_100_103_Closed_Text.style.display='none'; Codehighlighter1_100_103_Open_Image.style.display='inline'; Codehighlighter1_100_103_Open_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_100_103_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"></span><span id=Codehighlighter1_100_103_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">abstract</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000">&nbsp;Punch<br><img id=Codehighlighter1_136_239_Open_Image onclick="this.style.display='none'; Codehighlighter1_136_239_Open_Text.style.display='none'; Codehighlighter1_136_239_Closed_Image.style.display='inline'; Codehighlighter1_136_239_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_136_239_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_136_239_Closed_Text.style.display='none'; Codehighlighter1_136_239_Open_Image.style.display='inline'; Codehighlighter1_136_239_Open_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_136_239_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"></span><span id=Codehighlighter1_136_239_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">protected</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;DoPunch()<br><img id=Codehighlighter1_167_197_Open_Image onclick="this.style.display='none'; Codehighlighter1_167_197_Open_Text.style.display='none'; Codehighlighter1_167_197_Closed_Image.style.display='inline'; Codehighlighter1_167_197_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_167_197_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_167_197_Closed_Text.style.display='none'; Codehighlighter1_167_197_Open_Image.style.display='inline'; Codehighlighter1_167_197_Open_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_167_197_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"></span><span id=Codehighlighter1_167_197_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;TODO:&nbsp;do&nbsp;some&nbsp;punch</span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">abstract</span><span style="COLOR: #000000">&nbsp;Part&nbsp;Manufacture();<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000">&nbsp;DoorPunch&nbsp;:&nbsp;Punch<br><img id=Codehighlighter1_275_345_Open_Image onclick="this.style.display='none'; Codehighlighter1_275_345_Open_Text.style.display='none'; Codehighlighter1_275_345_Closed_Image.style.display='inline'; Codehighlighter1_275_345_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_275_345_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_275_345_Closed_Text.style.display='none'; Codehighlighter1_275_345_Open_Image.style.display='inline'; Codehighlighter1_275_345_Open_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_275_345_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"></span><span id=Codehighlighter1_275_345_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">override</span><span style="COLOR: #000000">&nbsp;Part&nbsp;Manufacture()<br><img id=Codehighlighter1_316_342_Open_Image onclick="this.style.display='none'; Codehighlighter1_316_342_Open_Text.style.display='none'; Codehighlighter1_316_342_Closed_Image.style.display='inline'; Codehighlighter1_316_342_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_316_342_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_316_342_Closed_Text.style.display='none'; Codehighlighter1_316_342_Open_Image.style.display='inline'; Codehighlighter1_316_342_Open_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_316_342_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"></span><span id=Codehighlighter1_316_342_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Door();<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000">&nbsp;ChassisPunch&nbsp;:&nbsp;Punch<br><img id=Codehighlighter1_384_457_Open_Image onclick="this.style.display='none'; Codehighlighter1_384_457_Open_Text.style.display='none'; Codehighlighter1_384_457_Closed_Image.style.display='inline'; Codehighlighter1_384_457_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_384_457_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_384_457_Closed_Text.style.display='none'; Codehighlighter1_384_457_Open_Image.style.display='inline'; Codehighlighter1_384_457_Open_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_384_457_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"></span><span id=Codehighlighter1_384_457_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">override</span><span style="COLOR: #000000">&nbsp;Part&nbsp;Manufacture()<br><img id=Codehighlighter1_425_454_Open_Image onclick="this.style.display='none'; Codehighlighter1_425_454_Open_Text.style.display='none'; Codehighlighter1_425_454_Closed_Image.style.display='inline'; Codehighlighter1_425_454_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_425_454_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_425_454_Closed_Text.style.display='none'; Codehighlighter1_425_454_Open_Image.style.display='inline'; Codehighlighter1_425_454_Open_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_425_454_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"></span><span id=Codehighlighter1_425_454_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Chassis();<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span></span></div>
<br><br>
<p class=MsoNormal style="TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">说白了，抽象工厂就是由工厂方法组成的（这个表达也许不够准确）。抽象工厂主要用于创建一系列相关的产品；而工厂方法则主要用于让某一个类处理不同的产品，且这个产品是由子类来决定的。在冲压机的例子中，没有模具的冲压机就是一个抽象类，加上模具就是一个具体的子类的，而模具的抽象就是工厂方法，加上不同的模具就等于为冲压机实现了不同的子类。</span></p>
<br><br><a href="http://www.cnblogs.com/Reeezak/archive/2005/10/24/260521.html">回到目录<br></a><a href="http://www.cnblogs.com/Reeezak/archive/2005/10/28/263492.html">上一篇：<span style="FONT-FAMILY: Verdana">Builder</span></a><span style="FONT-FAMILY: Verdana"><br></span>下一篇：<span style="FONT-FAMILY: Verdana">Prototype</span></span> 
  <img src ="http://www.cnblogs.com/Reeezak/aggbug/265195.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42908/" target="_blank">[新闻]微软亚洲研究院如何挑选聪明头脑</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>白话设计模式——Builder</title><link>http://www.cnblogs.com/Reeezak/archive/2005/10/28/263492.html</link><dc:creator>电机拖动</dc:creator><author>电机拖动</author><pubDate>Thu, 27 Oct 2005 16:12:00 GMT</pubDate><guid>http://www.cnblogs.com/Reeezak/archive/2005/10/28/263492.html</guid><wfw:comment>http://www.cnblogs.com/Reeezak/comments/263492.html</wfw:comment><comments>http://www.cnblogs.com/Reeezak/archive/2005/10/28/263492.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/Reeezak/comments/commentRss/263492.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Reeezak/services/trackbacks/263492.html</trackback:ping><description><![CDATA[&nbsp;
<p class=MsoNormal style="TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">生成器模式，用于创建复杂对象。当我们的软件系统中出现了这样的情况时——我们需要一个比较复杂的对象，它的外观（接口）我们是知道的，但是他的组成（各种各样的组成）我们并不关心，而且他的构造过程（比如先后顺序）我们也不关心——这时，我们就需要用到<span lang=EN-US>Builder</span>模式了。<span lang=EN-US><o:p></o:p></span></span></p>
<p class=MsoNormal style="TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">还是拿广本来打比方。广本的四个车间，最开头的是冲压科，而在冲压科的门口有一间小房子，里面放了一台激光焊接机，它用它的机械手臂抓起旁边放着的各种各样的钢板，不停的焊接。可能有人要问，这是什么例子？这就是生成器！一般来说，汽车各处外壳的厚度以及硬度是不同的，比如车头部分就要够硬（用来撞的<span lang=EN-US>^_^</span>），其他一些地方比如车顶就没有必要用超厚的钢板。这样，一来可以降低整车的质量，可以省油；二来可以降低成本（所以广本暴利啊～～其实其他汽车厂家也这么干）先前所讲的焊接机就是干这个事情的，它将各种不同厚度不同硬度的钢板焊接在一起，供那些巨型的冲压机来冲压成型，以生产汽车的各个不同的部分。各种汽车所使用的合成钢板的组成是不一样的，但冲压机不管那么多，它只管压钢板。这样一来就明白了吧？焊接机将各种钢板按照规定焊接成不同组成的合成钢板，至于它是如何焊接的以及合成钢板的组成，冲压机对这些信息是不关心的。<span lang=EN-US><o:p></o:p></span></span></p>
<p class=MsoNormal style="TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">我们来看一个类图。<span lang=EN-US><o:p></o:p></span></span></p>
<img src="http://www.cnblogs.com/images/cnblogs_com/reeezak/DesignPattern/builder.jpg" border=0><br><br>&nbsp;
<p class=MsoNormal><span lang=EN-US style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial"><o:p>&nbsp;</o:p></span></p>
<p class=MsoNormal style="TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这张简单的类图跟《设计模式》书中有显著的不同。因为我主要是用来说明上面的例子的，跟书中提及的例子不同。这个图中，焊接机由焊接程序控制，以生产不同规格的钢板，冲压机仅仅是调用焊接机的</span><span lang=EN-US>GetSteel</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">方法来获得焊好的钢板。其实，这样的情况在我们平时的程序中用得更多一些，即某一个类仅仅是要得到一个产品，而产品的一切信息它均不知晓。当我们需要另外一种规格的钢板时，更换相应的程序就可以了。</span></p>
<p class=MsoNormal style="TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在</span><span lang=EN-US>MS</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">给我们的类库中，有一个叫做</span><span lang=EN-US>StringBuilder</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的类，这就是一个例子。我们给它不同的字符串或是其他对象（这些就可以看作是原材料），根据我们输入的顺序（组装过程），我们可以得到我们想要的一个字符串。</span></p>
<p class=MsoNormal style="TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">把这个类图串换成代码（这个代码实在不怎么样，还好，这只是一个说明，如果我在工作中写出这样的东西来，我就可以体验一下从</span><span lang=EN-US>17</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">楼飞下的感觉了，</span><span lang=EN-US>^_^</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">）</span></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img id=Code_Closed_Image onclick="this.style.display='none'; Code_Closed_Text.style.display='none'; Code_Open_Image.style.display='inline'; Code_Open_Text.style.display='inline';" height=16 src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width=11 align=top><img id=Code_Open_Image style="DISPLAY: none" onclick="this.style.display='none'; Code_Open_Text.style.display='none'; Code_Closed_Image.style.display='inline'; Code_Closed_Text.style.display='inline';" height=16 src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width=11 align=top><span id=Code_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">Builder</span><span id=Code_Open_Text style="DISPLAY: none"><br><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000">&nbsp;Steel<br><img id=Codehighlighter1_21_120_Open_Image onclick="this.style.display='none'; Codehighlighter1_21_120_Open_Text.style.display='none'; Codehighlighter1_21_120_Closed_Image.style.display='inline'; Codehighlighter1_21_120_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_21_120_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_21_120_Closed_Text.style.display='none'; Codehighlighter1_21_120_Open_Image.style.display='inline'; Codehighlighter1_21_120_Open_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_21_120_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"></span><span id=Codehighlighter1_21_120_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">object</span><span style="COLOR: #000000">&nbsp;Part00;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">object</span><span style="COLOR: #000000">&nbsp;Part01;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">object</span><span style="COLOR: #000000">&nbsp;Part10;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">object</span><span style="COLOR: #000000">&nbsp;Part11;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000">&nbsp;WeldingProgramme<br><img id=Codehighlighter1_155_847_Open_Image onclick="this.style.display='none'; Codehighlighter1_155_847_Open_Text.style.display='none'; Codehighlighter1_155_847_Closed_Image.style.display='inline'; Codehighlighter1_155_847_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_155_847_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_155_847_Closed_Text.style.display='none'; Codehighlighter1_155_847_Open_Image.style.display='inline'; Codehighlighter1_155_847_Open_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_155_847_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"></span><span id=Codehighlighter1_155_847_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">object</span><span style="COLOR: #000000">[]&nbsp;_materials;<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;WeldingProgramme()<br><img id=Codehighlighter1_210_282_Open_Image onclick="this.style.display='none'; Codehighlighter1_210_282_Open_Text.style.display='none'; Codehighlighter1_210_282_Closed_Image.style.display='inline'; Codehighlighter1_210_282_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_210_282_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_210_282_Closed_Text.style.display='none'; Codehighlighter1_210_282_Open_Image.style.display='inline'; Codehighlighter1_210_282_Open_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_210_282_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"></span><span id=Codehighlighter1_210_282_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">._materials&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">object</span><span style="COLOR: #000000">[</span><span style="COLOR: #000000">4</span><span style="COLOR: #000000">];<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;TODO:&nbsp;Add&nbsp;some&nbsp;materials</span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;Steel&nbsp;Go()<br><img id=Codehighlighter1_306_844_Open_Image onclick="this.style.display='none'; Codehighlighter1_306_844_Open_Text.style.display='none'; Codehighlighter1_306_844_Closed_Image.style.display='inline'; Codehighlighter1_306_844_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_306_844_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_306_844_Closed_Text.style.display='none'; Codehighlighter1_306_844_Open_Image.style.display='inline'; Codehighlighter1_306_844_Open_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_306_844_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"></span><span id=Codehighlighter1_306_844_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SteelWelder&nbsp;sw&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;SteelWelder();<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">foreach</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">object</span><span style="COLOR: #000000">&nbsp;m&nbsp;</span><span style="COLOR: #0000ff">in</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">._materials)<br><img id=Codehighlighter1_390_416_Open_Image onclick="this.style.display='none'; Codehighlighter1_390_416_Open_Text.style.display='none'; Codehighlighter1_390_416_Closed_Image.style.display='inline'; Codehighlighter1_390_416_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_390_416_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_390_416_Closed_Text.style.display='none'; Codehighlighter1_390_416_Open_Image.style.display='inline'; Codehighlighter1_390_416_Open_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_390_416_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"></span><span id=Codehighlighter1_390_416_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sw.WeldSteel(m);<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;&nbsp;&nbsp;&nbsp;you&nbsp;can&nbsp;weld&nbsp;the&nbsp;steel&nbsp;like&nbsp;this<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;&nbsp;&nbsp;&nbsp;sw.WeldSteel(this._materials[3]);<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;&nbsp;&nbsp;&nbsp;sw.WeldSteel(this._materials[2]);<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;&nbsp;&nbsp;&nbsp;sw.WeldSteel(this._materials[1]);<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;&nbsp;&nbsp;&nbsp;sw.WeldSteel(this._materials[0]);<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;&nbsp;&nbsp;&nbsp;also,&nbsp;you&nbsp;can&nbsp;do&nbsp;it&nbsp;like&nbsp;this<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;&nbsp;&nbsp;&nbsp;sw.WeldSteel(this._materials[2]);<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;&nbsp;&nbsp;&nbsp;sw.WeldSteel(this._materials[1]);<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;&nbsp;&nbsp;&nbsp;sw.WeldSteel(this._materials[0]);<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;&nbsp;&nbsp;&nbsp;sw.WeldSteel(this._materials[3]);</span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000"><br><img src="http://www.cnblog