﻿<?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>博客园-『 天道酬勤 』 www.LiTianping.com  李天平</title><link>http://www.cnblogs.com/ltp/</link><description>君子之行，静以修身，俭以养德。非淡泊无以明志，非宁静无以致远。</description><language>zh-cn</language><lastBuildDate>Tue, 09 Feb 2010 21:35:00 GMT</lastBuildDate><pubDate>Tue, 09 Feb 2010 21:35:00 GMT</pubDate><ttl>60</ttl><item><title>职场随笔-走好那段路!</title><link>http://www.cnblogs.com/ltp/archive/2010/01/18/1651084.html</link><dc:creator>李天平</dc:creator><author>李天平</author><pubDate>Mon, 18 Jan 2010 14:23:00 GMT</pubDate><guid>http://www.cnblogs.com/ltp/archive/2010/01/18/1651084.html</guid><description><![CDATA[<p>阅读: 853 评论: 9 作者: <a href="http://www.cnblogs.com/ltp/" target="_blank">李天平</a> 发表于 2010-01-18 22:23 <a href="http://www.cnblogs.com/ltp/archive/2010/01/18/1651084.html" target="_blank">原文链接</a></p><p>回望走过的这半年，沟沟坎坎遇到过很多问题，历经各种挫折与困难，终于算告一段落。在这样短暂的时光中，我们郁闷过、痛苦过，也高兴过，几个月的沟沟坎坎，风风雨雨一起蹚过。我怀念这段时光，我享受这风雨中的美丽。几点总结，留此为念：</p>
<p><br />1.路是&#8220;蹚&#8221;出来的。<br />也许你走过荆棘草丛，走过碎石小路。我们充满疑虑，充满胆怯，充满恐惧。<br />等待？前进？撤退？然而，一咬牙挺过去，原来不过如此，回头再看，荡然无存。<br />很多事情，积极的面对，一切困难都是纸老虎。踏平的越多，积累能力越多。世上本没有路，蹚过之后，自然有路。</p>
<p>&nbsp;<br />2.价值是&#8220;摆&#8221;出来的。<br />黑社会之所以收保护费，那是因为他能摆平事。<br />公司之所以给你工资，那也是因为你能摆平事。<br />一个人的价值往往在于你能摆平多少事。价值就是这样&#8220;摆&#8221;出来的，不是靠秀出来的。<br />注意，当所有的事情与你无关时，你价值也就不复存在。</p>
<p><br />3.世界上没有绝对公平的&nbsp;&nbsp;<br />&nbsp; 工作中不要总强调该给我什么样的支持，该给我什么样资源我才能做。（如果什么都具备了，什么都是现成的，还要你来做什么？）<br />&nbsp; 也无需埋怨自己的薪水和付出不公平，对别的部门（人）重视，而不重视自己。<br />&nbsp; 比尔盖茨说过：&#8220;人生是不公平的，习惯去接受它吧。这个世界不会在乎你的自尊，这个世界期望你先做出成绩，再去强调自己的感受。&#8221;<br />&nbsp; 所以，别人的一切也是靠成绩争取来的，而不是坐在那里评估出来的。</p>
<p><br />4.思路决定出路。<br />&nbsp; 问题或者困难，就像一面镜子，你如何看待它，它就如何给你反馈。俗话说，世界上没有过不去的坎。<br />&nbsp; 遇到非常麻烦解决的问题，能不能分步，分块，分期，分解拆分解决？<br />&nbsp; 暂时没有办法解决的问题，能不能变通的解决，间接的实现你原始真实的目的，而不是为了解决无法解决的问题而纠结等待。<br />&nbsp; 没有头绪的繁杂问题，不要一筹莫展，是否可以考虑抓要点，抓根本，排优先级再处理。<br />&nbsp; 遇到无法沟通和协调的问题，是否考虑过换位思考，你在这种位置和情况下是否也会这样做。<br />&nbsp; 一些和我们相关但又最终不由我们决定的问题，是否可以考虑寻找相关资源，相关途径，甚至相关领导，去沟通一下，去侧面推动一下?<br />&nbsp; 不要认为这一切和你无关，不要认为这不是我的责任而袖手旁观！<br />&nbsp; 一个人的不平凡往往就是在这样一些特别的时候体现。它不但是你能力的提升，更是你价值潜力的体现。<br />&nbsp; 方法总比问题多，成功的人找方法，失败的人找借口。 思路决定出路，成功往往源于这些不平凡。</p>
<p>&nbsp;</p>
<p>5.给别人路，给自己路。<br />&nbsp; 人做事宜善始善终，为别人考虑的同时，就是在给自己积累善缘。&nbsp; <br />&nbsp; 给别人留路就是给自己铺路。俗话说&#8220;好人有好报，傻人有傻福&#8221;也许就是这个道理。</p>
<p>&nbsp;</p>
<p>人生有得有失，舍去未必不得，离开未必放弃。无论好坏，走好那段路!</p>
<p>&nbsp;</p><img src="http://www.cnblogs.com/ltp/aggbug/1651084.html?type=1" width="1" height="1" alt=""/><p>评论: 9　<a href="http://www.cnblogs.com/ltp/archive/2010/01/18/1651084.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/ltp/archive/2010/01/18/1651084.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56793/" target="_blank">知名扩展 Firebug 的简化版登陆 Chrome</a><span style="color:gray">(2010-02-09 22:59)</span><br/>· <a href="http://news.cnblogs.com/n/56792/" target="_blank">Google 悄悄地启用 1e100.net，打枪地不要</a><span style="color:gray">(2010-02-09 22:57)</span><br/>· <a href="http://news.cnblogs.com/n/56791/" target="_blank">从 Google 代码库找到的好东西</a><span style="color:gray">(2010-02-09 22:46)</span><br/>· <a href="http://news.cnblogs.com/n/56789/" target="_blank">苹果在线商店临时关闭 或将推新Macbook</a><span style="color:gray">(2010-02-09 22:39)</span><br/>· <a href="http://news.cnblogs.com/n/56788/" target="_blank">豆瓣网推出豆瓣电台iPhone客户端</a><span style="color:gray">(2010-02-09 21:51)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56782/" target="_blank">2010年2月编程语言排行榜</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>动软.NET代码生成器 开源了！</title><link>http://www.cnblogs.com/ltp/archive/2009/12/22/1630143.html</link><dc:creator>李天平</dc:creator><author>李天平</author><pubDate>Tue, 22 Dec 2009 15:22:00 GMT</pubDate><guid>http://www.cnblogs.com/ltp/archive/2009/12/22/1630143.html</guid><description><![CDATA[<p>阅读: 8373 评论: 123 作者: <a href="http://www.cnblogs.com/ltp/" target="_blank">李天平</a> 发表于 2009-12-22 23:22 <a href="http://www.cnblogs.com/ltp/archive/2009/12/22/1630143.html" target="_blank">原文链接</a></p><p>&nbsp;<strong>动软.NET代码生成器 源码开放了！<br /></strong>&nbsp;转眼间，动软经历了几年的风风雨雨，得到了众多网友们的支持和厚爱。同时也结识了很多的朋友，虽然几年的update很辛苦，但有这么多朋友的支持和鼓励，也甚感欣慰。<br />为感谢众多网友对该软件的支持，现在正式开放源码。希望它能带给大家和更多的朋友更大的帮助，也不枉这么多年开发动软的心血。虽然对动软有着深厚的感情，但为了更好的发挥动软.NET代码生成器更大的社会价值，也为更多的程序员提供更大的便利性和灵活性。也当作我对同行朋友们新年的一点贺礼，希望大家在未来的工作生活中，快乐工作，享受生活！&nbsp;<br />&nbsp;&#8212;&#8212;李天平，记于20091222</p>
<p>&nbsp;</p>
<p>下载地址：<a href="http://www.maticsoft.com/" target="_blank">http://www.maticsoft.com/</a></p><img src="http://www.cnblogs.com/ltp/aggbug/1630143.html?type=1" width="1" height="1" alt=""/><p>评论: 123　<a href="http://www.cnblogs.com/ltp/archive/2009/12/22/1630143.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/ltp/archive/2009/12/22/1630143.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56793/" target="_blank">知名扩展 Firebug 的简化版登陆 Chrome</a><span style="color:gray">(2010-02-09 22:59)</span><br/>· <a href="http://news.cnblogs.com/n/56792/" target="_blank">Google 悄悄地启用 1e100.net，打枪地不要</a><span style="color:gray">(2010-02-09 22:57)</span><br/>· <a href="http://news.cnblogs.com/n/56791/" target="_blank">从 Google 代码库找到的好东西</a><span style="color:gray">(2010-02-09 22:46)</span><br/>· <a href="http://news.cnblogs.com/n/56789/" target="_blank">苹果在线商店临时关闭 或将推新Macbook</a><span style="color:gray">(2010-02-09 22:39)</span><br/>· <a href="http://news.cnblogs.com/n/56788/" target="_blank">豆瓣网推出豆瓣电台iPhone客户端</a><span style="color:gray">(2010-02-09 21:51)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56782/" target="_blank">2010年2月编程语言排行榜</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>我看互联网—前景行业分析</title><link>http://www.cnblogs.com/ltp/archive/2009/07/29/1534575.html</link><dc:creator>李天平</dc:creator><author>李天平</author><pubDate>Wed, 29 Jul 2009 15:49:00 GMT</pubDate><guid>http://www.cnblogs.com/ltp/archive/2009/07/29/1534575.html</guid><description><![CDATA[<p>阅读: 7016 评论: 42 作者: <a href="http://www.cnblogs.com/ltp/" target="_blank">李天平</a> 发表于 2009-07-29 23:49 <a href="http://www.cnblogs.com/ltp/archive/2009/07/29/1534575.html" target="_blank">原文链接</a></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt; mso-char-indent-count: 2.0"><span style="font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast">俗话都说&#8220;女怕嫁错郎，男怕入错行&#8221;，特别是在如今金融危机的当口，很多公司裁员，甚至倒闭破产。作为一个职场中人，是否考虑过自己的职业规划？人多多少少都会想一想自己所从事的行业是否有前景，是否可以有大的成长空间。很早曾经有段时间想过这个问题，今天把想法拿出来给大家分享。因为我觉得一个人做事成不成往往有两个因素很关键：一是自己喜不喜欢（兴趣驱动）；二是自己擅不擅长（能力驱动）。当然，选择适合自己的才是最好的。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt; mso-char-indent-count: 2.0"><span style="font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast">我通过一些数据分析，<font size="2">个人比较看好这几个行业，仅代表个人观点，未必绝对，仅供参考</font>。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US" style="font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast"><o:p>&nbsp;</o:p></span></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 18pt; text-indent: -18pt; mso-char-indent-count: 0; mso-list: l0 level1 lfo1"><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast; mso-bidi-font-family: 宋体; mso-bidi-theme-font: minor-fareast"><span style="mso-list: Ignore">一.<span style="font: 7pt 'Times New Roman'"> </span></span></span></strong><strong style="mso-bidi-font-weight: normal"><span style="font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast">网络游戏：<span lang="EN-US"><o:p></o:p></span></span></strong></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt; mso-char-indent-count: 2.0"><span style="font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast">根据艾瑞咨询发布的《<span lang="EN-US">2009</span>年第一季度中国网络游戏市场监测报告》统计显示，<span lang="EN-US">2009Q1</span>在互联网经济整体下降的大环境下，网络游戏是唯一实现营收规模增长的行业，其市场营收规模同比增长<span lang="EN-US">32.5%</span>，环比增长<span lang="EN-US">7.7%</span>，一季度网络游戏市场规模突破<span lang="EN-US">60</span>亿元，逆市上扬，达到<span lang="EN-US">61.6</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="font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast">也许是因为金融危机导致很多人在家待业或休闲时间增多，从而无所事事开始玩游戏了吧，呵呵。<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="font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast">艾瑞咨询的报告还指出，<span lang="EN-US">2008</span>年中国网络游戏市场规模为<span lang="EN-US">207.8</span>亿元，同比增长<span lang="EN-US">52.2%</span>。从全球范围来看，<span lang="EN-US">2008</span>年中国网络游戏市场的收入约占全球<span lang="EN-US">27%</span>的份额，排名第二，美国以<span lang="EN-US">29%</span>位居榜首。按照全球网络游戏产业的发展趋势，中国市场的占有率还将以每年<span lang="EN-US">5%</span>左右的速度递增。预计到<span lang="EN-US">2012</span>年，中国网络游戏的市场规模将达到<span lang="EN-US">686.2</span>亿元，全球市场占有率将达<span lang="EN-US">46.9%</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="font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast">除此之外，一种新的游戏形式&#8212;<span lang="EN-US">WebGame (</span>网页游戏<span lang="EN-US">)</span>在<span lang="EN-US">2008</span>年也备受关注和热捧。中国网络游戏产业<span lang="EN-US">97%</span>的收入来源于<span lang="EN-US">MMOG</span>（大型多人在线游戏）和<span lang="EN-US">MOG</span>（多人在线游戏）游戏；有<span lang="EN-US">31.2%</span>和用户喜欢益智类游戏，有<span lang="EN-US">25.8%</span>的用户喜欢策略类游戏，使用这两类游戏作为核心的<span lang="EN-US">MMOG</span>和<span lang="EN-US">MOG</span>游戏几乎很少，这充分说明益智类游戏与策略类游戏并不适合应用于<span lang="EN-US">MMOG</span>和<span lang="EN-US">MOG</span>游戏，而网页游戏则是因为其特殊的呈现方式，无需下载客户端，正好可以实现与<span lang="EN-US">MMOG</span>、<span lang="EN-US">MOG</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="font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast">并且，由于现在<span lang="EN-US">RIA(</span>富媒体<span lang="EN-US">)</span>技术（像<span lang="EN-US">Flash/Flex &amp; Silverlight</span>）的不断发展和水平提高，已经可以开发出甚至和客户端游戏相颦美的绚丽效果，也无形中推动了<span lang="EN-US">WebGame</span>的发展。 所以，网页游戏在最近一到两年间已成为风投重点关注的对象，未来的发展也将有自己的一番天地。如果你非常喜欢玩游戏，又具有这样的技术背景，不妨试试让自己在玩中挣钱。<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US" style="font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp; </span><o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 18pt; text-indent: -18pt; mso-char-indent-count: 0; mso-list: l0 level1 lfo1"><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast; mso-bidi-font-family: 宋体; mso-bidi-theme-font: minor-fareast"><span style="mso-list: Ignore">二.<span style="font: 7pt 'Times New Roman'"> </span></span></span></strong><strong style="mso-bidi-font-weight: normal"><span style="font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast">电子商务<span lang="EN-US"><o:p></o:p></span></span></strong></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt; mso-char-indent-count: 2.0"><span style="font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast">电子商务这两年一直就很热，大家应该能感觉得到。在电子商务市场中一般包括<span lang="EN-US">B2B</span>，<span lang="EN-US">C2C</span>，<span lang="EN-US"> B2C </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="font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast">首先说<span lang="EN-US">B2B</span>，在这次金融危机中出口型<span lang="EN-US">B2B</span>网站是受到影响最为深重的互联网企业，阿里巴巴的股价在半年内跌了<span lang="EN-US">70%</span>，而慧聪跌则去<span lang="EN-US">45%</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="font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast">原因<span lang="EN-US">1</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="font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast">原因<span lang="EN-US">2</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="font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast">原因<span lang="EN-US">3</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="font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast">原因<span lang="EN-US">4</span>：是过去一段时间从紧的财政政策导致出口企业无法得到贷款，导致<span lang="EN-US">B2B</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="font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast">但整体<span lang="EN-US">B2B</span>市场还将成上升趋势，<span lang="EN-US">2008</span>年，中国电子商务<span lang="EN-US">B2B</span>市场交易额达到<span lang="EN-US">21480</span>亿元，与<span lang="EN-US">07</span>年相比，同比增长<span lang="EN-US">40.2%</span>。<span lang="EN-US">B2B</span>市场交易额占中国整体电子商务市场规模的<span lang="EN-US">89.5%</span>，预计<span lang="EN-US">2009</span>年<span lang="EN-US">B2B</span>市场交易额将达到<span lang="EN-US">30764</span>亿元，未来三年市场复合增长率保持在<span lang="EN-US">41.6%</span>。在政府支持下，国家商务部预计，未来<span lang="EN-US">10</span>年，中国将有<span lang="EN-US">70</span>％的贸易额将通过电子交易完成，因此，<span lang="EN-US">B2B</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 lang="EN-US" style="font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US" style="font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast">其次，<span lang="EN-US">C2C</span>网站在金融危机中呈现两极化发展趋势。淘宝网一家独大，占据半壁江山。<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt"><span style="font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast">据国外媒体报道，赛迪顾问<span lang="EN-US">(Ccid Consulting Co. Ltd., Q.CIC)</span>日前发布报告称，<span lang="EN-US">2008</span>年中国<span lang="EN-US">C2C</span>市场规模达到了<span lang="EN-US">744</span>亿元，预计中国<span lang="EN-US">2009</span>年<span lang="EN-US">C2C</span>市场规模将达到<span lang="EN-US">1078</span>亿元，同比增长<span lang="EN-US">44.9%</span>。到<span lang="EN-US">2010</span>年，中国<span lang="EN-US">C2C</span>市场规模将达到<span lang="EN-US">1538</span>亿元，同比增长<span lang="EN-US">42.7%</span>。到<span lang="EN-US">2011</span>年将达到<span lang="EN-US">2310</span>亿元，同比增长<span lang="EN-US">50.2%</span>。<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt"><span style="font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast">图<span lang="EN-US"><span style="mso-spacerun: yes">&nbsp; </span>2006-2011</span>年中国电子商务<span lang="EN-US">C2C</span>市场交易额及增长<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-family: 宋体"><img height="283" alt="" src="http://images.cnblogs.com/cnblogs_com/ltp/wknet1.jpg" width="559" border="0" /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 中国<span lang="EN-US">C2C</span>市场格局中，淘宝仍然是市场霸主，拍拍则凭借庞大的用户资源站稳了第二的交椅。<span lang="EN-US">2008</span>年，淘宝占领了<span lang="EN-US">84.1%</span>的市场份额，拍拍占<span lang="EN-US">8.3%</span>，易趣占<span lang="EN-US">6.2%</span>。百度也推出了</span><span style="font-family: 宋体; mso-bidi-font-size: 10.5pt">百度有啊，但从盈利性看，<span lang="EN-US">C2C</span>盈利模式还不明朗。而在这里面的可选择也只是这么几家巨头。虽然<span lang="EN-US">C2C</span>孕育了中国电子商务的发展。但预计未来几年里，<span lang="EN-US">C2C</span>可能会朝着专业<span lang="EN-US">B2C</span>的方向靠近。</span><span lang="EN-US" style="font-family: 宋体"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt"><span lang="EN-US" style="font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt; mso-char-indent-count: 2.0"><span lang="EN-US" style="font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast">B2C</span><span style="font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast">网站作为近两年互联网亮点，<span lang="EN-US">B2C</span>是传统企业切入电子商务的最直接最容易体现效益的方式。<span lang="EN-US">PPG</span>、红孩子、京东的火爆，不仅引爆了整个<span lang="EN-US">B2C</span>领域，更让众多传统商家按耐不住纷纷跟进。在金融危机影响下，很多采取&#8220;开源节流&#8221;的方式来扩大营收，降低成本。细分用户市场稳定增长、金融危机带来的用户消费结构趋向线上、市场成本不断摊薄、充沛的现金流、毛利润不断提升等因素都是该类网站在金融危机中选择攻击性扩张的因素。<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt"><span style="font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast">从数据来看，<span lang="EN-US">2008</span>年中国电子商务<span lang="EN-US">B2C</span>市场交易额达到<span lang="EN-US">1776</span>亿元，同比增长<span lang="EN-US">51.4%</span>，<span lang="EN-US">B2C</span>市场占中国整体电子商务市场的<span lang="EN-US">7.4%</span>。近年来，中国<span lang="EN-US">B2C</span>市场发展迅速，企业自建与第三方平台大量涌现，投资者关注度显著提高，预计未来三年中国<span lang="EN-US">B2C</span>市场复合增长率可达到<span lang="EN-US">41%</span>，<span lang="EN-US">2011</span>年中国电子商务<span lang="EN-US">B2C</span>市场规模有望达到<span lang="EN-US">4982</span>亿元。</span><span style="font-family: 宋体; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">由传统企业延伸过来的电子商务公司和互联网中成长起来的中小网商也会越来越多。</span><span lang="EN-US" style="font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt"><span lang="EN-US" style="font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt"><span style="font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast">图<span lang="EN-US"><span style="mso-spacerun: yes">&nbsp; </span>2006-2011</span>年中国电子商务<span lang="EN-US">B2C</span>市场交易额及增长<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast"><img height="281" alt="" src="http://images.cnblogs.com/cnblogs_com/ltp/wknet2.jpg" width="557" border="0" /><br />&nbsp;&nbsp;&nbsp; 总结<span lang="EN-US">2008</span>年中国电子商务<span lang="EN-US">B2C</span>市场特点，我们发现：首先，<span lang="EN-US">B2C</span>市场重新获得风投机构青睐，经调研，多数投资结构认为在现有经济环境下，电子商务的投资前景依然乐观，而<span lang="EN-US">B2C</span>更是未来的投资重点；<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt"><span style="font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast">其次，<span lang="EN-US">B2C</span>厂商日益注重增强网站凝聚力和专业性，以提升其产品定位的准确性。其重点关注价格、服务、盈利水平、市场潜力等因素。此外，各类<span lang="EN-US">B2C</span>厂商同时也加强了对品牌信用、营销推广、网站建设、物流配送、售后服务的关注程度；再次，<span lang="EN-US">B2C</span>随着互联网与移动互联网电子商务的多元化，以及垂直行业的细分化发展，目前<span lang="EN-US">IT</span>零售、旅游、母婴、珠宝、服装等行业<span lang="EN-US">B2C</span>发展迅速，其他行业的<span lang="EN-US">B2C</span>平台也在不断涌现。未来，中国<span lang="EN-US">B2C</span>市场将保持现有发展速度，<span lang="EN-US">09</span>年市场份额进一步扩大；<span lang="EN-US">B2C</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"><span style="font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast">根据世界工厂网统计，网上购物市场的增长趋势最明显，目前的网上购物用户人数已经达到<span lang="EN-US">9620</span>万人，年增长率达到<span lang="EN-US">60%</span>。随着在线支付、诚信服务、第三方支付、物流推荐、购物搜索等与网络购物相关的互联网业务的推出并日趋完善，中国网民在网络购物方便性的吸引下逐步将在线购物作为其主要购物渠道，未来几年中国网购市场将持续保持快速的增长趋势，电子商务也将深入人们生活的方方面面。<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt"><span lang="EN-US" style="font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast"><o:p>&nbsp;</o:p></span></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 18pt; text-indent: -18pt; mso-char-indent-count: 0; mso-list: l0 level1 lfo1"><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast; mso-bidi-font-family: 宋体; mso-bidi-theme-font: minor-fareast"><span style="mso-list: Ignore">三.<span style="font: 7pt 'Times New Roman'"> </span></span></span></strong><strong style="mso-bidi-font-weight: normal"><span style="font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast">产业信息化<span lang="EN-US"><o:p></o:p></span></span></strong></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt; mso-char-indent-count: 2.0"><span style="font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast">根据最近《电子信息产业调整和振兴规划》中指出：&#8220;加强信息技术融合应用。以研发设计、流程控制、企业管理、市场营销等关键环节为突破口，推进信息技术与传统工业结合，提高工业自动化、智能化和管理现代化水平。加速行业解决方案的开发和推广，组织开展行业应用试点示范工程，支持<span lang="EN-US">RFID(</span>电子标签<span lang="EN-US">)</span>、汽车电子、机床电子、医疗电子、工业控制及检测等产品和系统的开发和标准制定。支持信息技术企业与传统工业企业开展多层次的合作，进一步促进信息化与工业化融合。结合国家改善民生相关工程的实施，加强信息技术在教育、医疗、社保、交通等领域应用。提高信息技术服务&#8220;三农&#8221;水平，加速推进农业和农村信息化，发展壮大涉农电子产品和信息服务产业。&#8221;<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="font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast">我觉得信息技术与传统工业企业结合中会有很多机会，各种的行业如：政府，金融，制造业，石化，医疗，零售物流，信息产业，交通等等的信息化，而企业信息化中又有各种的应用如<span lang="EN-US">ERP</span>（企业资源计划）、<span lang="EN-US">CRM</span>（客户关系管理）、<span lang="EN-US">OA</span>（办公自动化）、<span lang="EN-US">BI</span>（商务智能）、<span lang="EN-US">SCM</span>（</span><span style="color: black; font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast; mso-bidi-font-size: 10.5pt">供应链管理</span><span style="font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast">）、<span lang="EN-US">PLM</span>（产品生命周期管理）、<span lang="EN-US">SOA</span>（</span><span style="color: black; font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast; mso-bidi-font-size: 10.5pt">面向服务架构</span><span style="font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast">）、<span lang="EN-US">SaaS</span>（软件即服务）、<span lang="EN-US">EAI</span>（企业应用集成）等等，更不要说政府信息化（电子政务中各个政府部门不知道养活了多少软件公司），新农村建设的现代农业信息化，还有很多的空间。总体来看这里面可做的东西太多了，而中国目前应该还算处于信息化的初级阶段。而根据中国这样大国，这个信息化过程也将是一个漫长的过程。随着中国政府<span lang="EN-US">4</span>万亿的拉动和国家政府的重视，这个市场也将具有很大的&#8220;钱&#8221;景。<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 lang="EN-US" style="font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt; mso-char-indent-count: 2.0"><span style="font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast">当然，除这些之外还有很多不错的行业，像<span lang="EN-US">3G</span>、移动互联网，软件外包，创意产业，教育培训等等，这里也只是从我们软件从业人员的角度分析和我们息息相关的行业，至于说餐饮，旅游之类不在此讨论范围。这些也仅代表个人观点，也未必绝对，仅供参考。<br /><span lang="EN-US"><o:p></o:p></span></span></p><img src="http://www.cnblogs.com/ltp/aggbug/1534575.html?type=1" width="1" height="1" alt=""/><p>评论: 42　<a href="http://www.cnblogs.com/ltp/archive/2009/07/29/1534575.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/ltp/archive/2009/07/29/1534575.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56793/" target="_blank">知名扩展 Firebug 的简化版登陆 Chrome</a><span style="color:gray">(2010-02-09 22:59)</span><br/>· <a href="http://news.cnblogs.com/n/56792/" target="_blank">Google 悄悄地启用 1e100.net，打枪地不要</a><span style="color:gray">(2010-02-09 22:57)</span><br/>· <a href="http://news.cnblogs.com/n/56791/" target="_blank">从 Google 代码库找到的好东西</a><span style="color:gray">(2010-02-09 22:46)</span><br/>· <a href="http://news.cnblogs.com/n/56789/" target="_blank">苹果在线商店临时关闭 或将推新Macbook</a><span style="color:gray">(2010-02-09 22:39)</span><br/>· <a href="http://news.cnblogs.com/n/56788/" target="_blank">豆瓣网推出豆瓣电台iPhone客户端</a><span style="color:gray">(2010-02-09 21:51)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56782/" target="_blank">2010年2月编程语言排行榜</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>系统缓存全解析</title><link>http://www.cnblogs.com/ltp/archive/2009/06/30/1514311.html</link><dc:creator>李天平</dc:creator><author>李天平</author><pubDate>Tue, 30 Jun 2009 14:54:00 GMT</pubDate><guid>http://www.cnblogs.com/ltp/archive/2009/06/30/1514311.html</guid><description><![CDATA[<p>阅读: 7834 评论: 17 作者: <a href="http://www.cnblogs.com/ltp/" target="_blank">李天平</a> 发表于 2009-06-30 22:54 <a href="http://www.cnblogs.com/ltp/archive/2009/06/30/1514311.html" target="_blank">原文链接</a></p><p class="MsoListParagraph" style="margin: 0cm 0cm 0pt; text-align: left; mso-pagination: widow-orphan" align="left"><span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;&nbsp;&nbsp;&nbsp; 有时候总听到网友说网站运行好慢，不知如何是好；有时候也总见到一些朋友写的网站功能看起来非常好，但访问性能却极其的差。没有&#8220;勤俭节约&#8221;的意识，势必会造成&#8220;铺张浪费&#8221;。如何应对这种情况，充分利用系统缓存则是首要之道。</span></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt; text-align: left; mso-pagination: widow-orphan" align="left">&nbsp;<span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;&nbsp;&nbsp; 系统缓存有什么好处呢？举个简单的例子，你想通过网页查询某些数据，而这些数据并非实时变化，或者变化的时间是有期限的。例如查询一些历史数据。那么每个用户每次查的数据都是一样的。如果不设置缓存，<span lang="EN-US">ASP.NET</span>也会根据每个用户的请求重复查询<span lang="EN-US">n</span>次，这就增加了不必要的开销。所以，</span><span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast">可能的情况下尽量使用缓存，<span style="color: black">从内存中返回数据的速度始终比去数据库查的速度快，因而可以大大提供应用程序的性能。</span>毕竟现在内存非常便宜，用空间换取时间效率应该是非常划算的。尤其是对耗时比较长的、需要建立网络链接的数据库查询操作等。<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 2.95pt; text-align: left; mso-para-margin-left: .28gd" align="left"><span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">缓存功能是大型网站设计一个很重要的部分。</span><span style="color: black; font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast">由数据库驱动的<span lang="EN-US">Web</span>应用程序，如果需要改善其性能，最好的方法是使用缓存功能。</span></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 2.95pt; text-align: left; mso-para-margin-left: .28gd" align="left"><span style="color: black; font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast"></span><span lang="EN-US" style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast"><o:p>&nbsp;</p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt; text-align: left; mso-pagination: widow-orphan" align="left"><span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 系统缓存全解析文章索引</span></p>
<ul>
<ul><li>
<div class="MsoListParagraph" style="margin: 0cm 0cm 0pt; text-align: left; mso-pagination: widow-orphan" align="left"><span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><a id="homepage1_HomePageDays_DaysList_ctl00_DayItem_DayList_ctl06_TitleUrl" href="http://www.cnblogs.com/ltp/archive/2009/06/30/1514311.html">系统缓存全解析1：系统缓存的概述</a> </span></div></li><li>
<div class="MsoListParagraph" style="margin: 0cm 0cm 0pt; text-align: left; mso-pagination: widow-orphan" align="left"><span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><a id="homepage1_HomePageDays_DaysList_ctl00_DayItem_DayList_ctl05_TitleUrl" href="http://www.cnblogs.com/ltp/archive/2009/06/30/1514314.html">系统缓存全解析2：页面输出缓存</a></span></div></li><li>
<div class="MsoListParagraph" style="margin: 0cm 0cm 0pt; text-align: left; mso-pagination: widow-orphan" align="left"><span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><a id="homepage1_HomePageDays_DaysList_ctl00_DayItem_DayList_ctl04_TitleUrl" href="http://www.cnblogs.com/ltp/archive/2009/06/30/1514324.html">系统缓存全解析3：页面局部缓存</a></span></div></li><li>
<div class="MsoListParagraph" style="margin: 0cm 0cm 0pt; text-align: left; mso-pagination: widow-orphan" align="left"><span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><a id="homepage1_HomePageDays_DaysList_ctl00_DayItem_DayList_ctl03_TitleUrl" href="http://www.cnblogs.com/ltp/archive/2009/06/30/1514326.html">系统缓存全解析4：应用程序数据缓存</a></span></div></li><li>
<div class="MsoListParagraph" style="margin: 0cm 0cm 0pt; text-align: left; mso-pagination: widow-orphan" align="left"><span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><a id="homepage1_HomePageDays_DaysList_ctl00_DayItem_DayList_ctl02_TitleUrl" href="http://www.cnblogs.com/ltp/archive/2009/06/30/1514327.html">系统缓存全解析5：文件缓存依赖</a> </span></div></li><li>
<div class="MsoListParagraph" style="margin: 0cm 0cm 0pt; text-align: left; mso-pagination: widow-orphan" align="left"><span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><a id="homepage1_HomePageDays_DaysList_ctl00_DayItem_DayList_ctl01_TitleUrl" href="http://www.cnblogs.com/ltp/archive/2009/06/30/1514331.html">系统缓存全解析6：数据库缓存依赖</a> </span></div></li><li>
<div class="MsoListParagraph" style="margin: 0cm 0cm 0pt; text-align: left; mso-pagination: widow-orphan" align="left"><span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><a id="homepage1_HomePageDays_DaysList_ctl00_DayItem_DayList_ctl00_TitleUrl" href="http://www.cnblogs.com/ltp/archive/2009/06/30/1514333.html">系统缓存全解析7：第三方分布式缓存解决方案 Memcached和Cacheman</a> </span></div></li></ul></ul>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 2.95pt; text-align: left; mso-para-margin-left: .28gd" align="left"></o:p></span><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-size: 12pt; line-height: 250%; font-family: 宋体; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast; mso-bidi-theme-font: minor-fareast"><span style="mso-list: Ignore">15.4.1<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span></strong><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-size: 12pt; line-height: 250%; font-family: 宋体; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast"><span style="mso-spacerun: yes">&nbsp;</span></span></strong><strong style="mso-bidi-font-weight: normal"><span style="font-size: 12pt; line-height: 250%; font-family: 宋体; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast">缓存的分类<span lang="EN-US"><o:p></o:p></span></span></strong></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt; text-align: left" align="left"><span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;&nbsp;&nbsp;&nbsp; 从分布上来看，我们可以概括为客户端缓存和服务器端缓存。如图<span lang="EN-US">15-1</span>所示：<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 20.8pt" align="center"><span lang="EN-US" style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center" align="center"><span lang="EN-US" style="mso-font-kerning: 0pt; mso-no-proof: yes"><v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"></v:path><o:lock v:ext="edit" aspectratio="t"></o:lock></v:shapetype></span></p>
<p class="MsoCaption" style="margin: 0cm 0cm 0pt; text-align: center" align="center"><font size="2"><span style="font-family: 黑体; mso-ascii-theme-font: major-latin; mso-ascii-font-family: Cambria"><img alt="" src="http://images.cnblogs.com/cnblogs_com/ltp/46234/o_15-1.JPG" border="0" /></span></font></p>
<p class="MsoCaption" style="margin: 0cm 0cm 0pt; text-align: center" align="center"><font size="2"><span style="font-family: 黑体; mso-ascii-theme-font: major-latin; mso-ascii-font-family: Cambria">图</span><font face="Cambria"><span lang="EN-US">15-</span><span lang="EN-US"><span style="mso-no-proof: yes">1</span></span><span lang="EN-US"><span style="mso-spacerun: yes">&nbsp; </span></span></font><span style="font-family: 黑体; mso-ascii-theme-font: major-latin; mso-ascii-font-family: Cambria">缓存的分类</span><span lang="EN-US" style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><o:p></o:p></span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center" align="center"><span lang="EN-US" style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><o:p>&nbsp;</o:p></span></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 2.95pt; text-indent: 21.1pt; text-align: left; mso-para-margin-left: .28gd" align="left"><strong><span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">客户端缓存</span></strong><span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&#8212;&#8212; 这点大家都有直观的印象。比如你去一个新的网站，第一次可能要花一阵子时间才能载入整个页面。而以后再去呢，时间就会大大的缩短，原因就在于这个客户端缓存。现在的浏览器都比较智能，它会在客户机器的硬盘上保留许多静态的文件，比如各种<span lang="EN-US">gif,jpeg</span>文件等等。等以后再去的时候，它会尽量使用本地缓存里面的文件。只有服务器端的文件更新了，或是缓存里面的文件过期了，它才会再次从服务器端下载这些东西。很多时候是<span lang="EN-US">IE</span>替我们做了这件事情。</span></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 2.95pt; text-indent: 21.1pt; text-align: left; mso-para-margin-left: .28gd" align="left"><span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><span lang="EN-US"><o:p></o:p></span></span>&nbsp;</p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 2.95pt; text-indent: 21.1pt; text-align: left; mso-para-margin-left: .28gd" align="left"><strong><span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">服务器端缓存&#8212;&#8212;</span></strong><span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"> 有些东西没法或是不宜在客户端缓存，那么我们只好在服务器端想想办法了。服务器端缓存从性质上看，又可以分为两种。<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 42.05pt; text-indent: -18pt; text-align: left; mso-pagination: widow-orphan; mso-para-margin-left: 2.29gd; mso-list: l2 level1 lfo3; mso-char-indent-count: 0" align="left"><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><span style="mso-list: Ignore">(1)</span></span></strong><strong><span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">静态文件缓存</span></strong><span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"> <span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt; text-align: left; mso-pagination: widow-orphan" align="left"><span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;&nbsp;&nbsp; 好多页面是静态的，很少改动，那么这种文件最适于作静态缓存。现在的<span lang="EN-US">IIS 6.0</span>这部分内容是直接存放在<span lang="EN-US">Kernel</span>的内存中，由<span lang="EN-US">HTTP.SYS</span>直接管理。由于它在<span lang="EN-US">Kernel Space</span>，所以它的性能非常的高。用户的请求如果在缓存里面，那么<span lang="EN-US">HTTP.SYS</span>直接将内容发送到<span lang="EN-US">network driver</span>上去，不需要像以前那样从<span lang="EN-US">IIS</span>的<span lang="EN-US">User space</span>的内存<span lang="EN-US">copy</span>到<span lang="EN-US">Kernel</span>中，然后再发送到<span lang="EN-US">TCP/IP stack</span>上。<span lang="EN-US">Kernel level cache</span>几乎是现在高性能<span lang="EN-US">Web server</span>的一个必不可少的特性。<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 42.05pt; text-indent: -18pt; text-align: left; mso-pagination: widow-orphan; mso-para-margin-left: 2.29gd; mso-list: l2 level1 lfo3; mso-char-indent-count: 0" align="left"><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><span style="mso-list: Ignore">(2)</span></span></strong><strong><span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">动态缓存</span></strong><span lang="EN-US" style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt; text-align: left; mso-pagination: widow-orphan" align="left"><span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;&nbsp;&nbsp;&nbsp; 动态缓存是比较有难度的。因为你在缓存的时候要时刻注意一个问题，那就是缓存的内容是不是已经过时了。因为内容过时了可能会有很严重的后果。比如网上买卖股票的网站。你给别人提供的价格是过时的，那人家非砍了你不可。缓存如何发现自己是不是过时就是一个非常复杂的问题。</span></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt; text-align: left; mso-pagination: widow-orphan" align="left"><span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><span lang="EN-US"><o:p></o:p></span></span>&nbsp;</p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt; text-align: left; mso-pagination: widow-orphan" align="left"><span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;&nbsp;&nbsp; 在<span lang="EN-US">ASP.NET</span>中，常见的动态缓存主要有以下几种手段<span lang="EN-US">:<o:p></o:p></span></span></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt; text-align: left; mso-list: l1 level1 lfo2" align="left"><span lang="EN-US" style="font-family: Wingdings; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings"><span style="mso-list: Ignore">&nbsp; &#216;<span style="font: 7pt 'Times New Roman'">&nbsp; </span></span></span><span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast">传统缓存方式</span><span lang="EN-US" style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast"><o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt; text-align: left; mso-list: l1 level1 lfo2" align="left"><span lang="EN-US" style="font-family: Wingdings; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings"><span style="mso-list: Ignore">&nbsp; &#216;<span style="font: 7pt 'Times New Roman'">&nbsp; </span></span></span><span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast">页面输出缓存</span><span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast">。<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt; text-align: left; mso-list: l1 level1 lfo2" align="left"><span lang="EN-US" style="font-family: Wingdings; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings"><span style="mso-list: Ignore">&nbsp; &#216;<span style="font: 7pt 'Times New Roman'">&nbsp; </span></span></span><span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast">页面局部缓存。</span><span lang="EN-US" style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast"><o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt; text-align: left; mso-list: l1 level1 lfo2" align="left"><span lang="EN-US" style="font-family: Wingdings; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings"><span style="mso-list: Ignore">&nbsp; &#216;<span style="font: 7pt 'Times New Roman'">&nbsp; </span></span></span><span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast; mso-no-proof: yes">利用<span lang="EN-US">.NET</span>提供的<span lang="EN-US">System.Web.Caching </span>缓存。</span><span lang="EN-US" style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast"><o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt; text-align: left; mso-list: l1 level1 lfo2" align="left"><span lang="EN-US" style="font-family: Wingdings; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings"><span style="mso-list: Ignore">&nbsp; &#216;<span style="font: 7pt 'Times New Roman'">&nbsp; </span></span></span><span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast">缓存依赖。<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 17.95pt; text-indent: 0cm; text-align: left; mso-para-margin-left: 1.71gd; mso-char-indent-count: 0" align="left"><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast"><o:p>&nbsp;</o:p></span></strong></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 17.85pt; text-indent: -17.85pt; line-height: 200%; text-align: left; mso-list: l0 level1 lfo1; mso-char-indent-count: 0" align="left"><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-size: 12pt; line-height: 200%; font-family: 宋体; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast; mso-bidi-theme-font: minor-fareast"><span style="mso-list: Ignore">15.4.2<span style="font: 7pt 'Times New Roman'"> </span></span></span></strong><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-size: 12pt; line-height: 200%; font-family: 宋体; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast"><span style="mso-spacerun: yes">&nbsp;</span></span></strong><strong style="mso-bidi-font-weight: normal"><span style="font-size: 12pt; line-height: 200%; font-family: 宋体; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast">传统缓存方式<span lang="EN-US"><o:p></o:p></span></span></strong></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 17.95pt; text-indent: 0cm; text-align: left; mso-para-margin-left: 1.71gd; mso-char-indent-count: 0" align="left"><span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast">比如将可重复利用的东西放到<span lang="EN-US">Application</span>或是<span lang="EN-US">Session</span>中去保存。</span><span lang="EN-US" style="font-family: 宋体; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast"><o:p></o:p></span></p>
<div align="center"></div>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 17.95pt; text-indent: 0cm; text-align: left; mso-para-margin-left: 1.71gd; mso-char-indent-count: 0" align="left"><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-fareast; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast"><o:p><span lang="EN-US" style="font-size: 10.5pt; font-family: 'Times New Roman','serif'; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 宋体; mso-no-proof: yes; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">&nbsp;Session["Style"] = val;<br />&nbsp;Application["Count"] = 0;</span></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 17.95pt; text-indent: 0cm; text-align: left; mso-para-margin-left: 1.71gd; mso-char-indent-count: 0" align="left"><span lang="EN-US" style="font-size: 10.5pt; font-family: 'Times New Roman','serif'; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 宋体; mso-no-proof: yes; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"></span>&nbsp;</p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 17.95pt; text-indent: 0cm; text-align: left; mso-para-margin-left: 1.71gd; mso-char-indent-count: 0" align="left"><span lang="EN-US" style="font-size: 10.5pt; font-family: 'Times New Roman','serif'; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 宋体; mso-no-proof: yes; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"></span></o:p></span></strong>&nbsp;</p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 17.95pt; text-indent: 0cm; text-align: left; mso-para-margin-left: 1.71gd; mso-char-indent-count: 0" align="left">（<span style="font-size: 10pt">选自</span><a href="http://book.maticsoft.com/" target="_blank"><span style="font-size: 10pt">《亮剑.NET：.NET深入体验与实战精要》</span></a><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">第</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 10pt">15</span></font></span><span style="font-size: 10pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">章</span>）</p><img src="http://www.cnblogs.com/ltp/aggbug/1514311.html?type=1" width="1" height="1" alt=""/><p>评论: 17　<a href="http://www.cnblogs.com/ltp/archive/2009/06/30/1514311.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/ltp/archive/2009/06/30/1514311.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56793/" target="_blank">知名扩展 Firebug 的简化版登陆 Chrome</a><span style="color:gray">(2010-02-09 22:59)</span><br/>· <a href="http://news.cnblogs.com/n/56792/" target="_blank">Google 悄悄地启用 1e100.net，打枪地不要</a><span style="color:gray">(2010-02-09 22:57)</span><br/>· <a href="http://news.cnblogs.com/n/56791/" target="_blank">从 Google 代码库找到的好东西</a><span style="color:gray">(2010-02-09 22:46)</span><br/>· <a href="http://news.cnblogs.com/n/56789/" target="_blank">苹果在线商店临时关闭 或将推新Macbook</a><span style="color:gray">(2010-02-09 22:39)</span><br/>· <a href="http://news.cnblogs.com/n/56788/" target="_blank">豆瓣网推出豆瓣电台iPhone客户端</a><span style="color:gray">(2010-02-09 21:51)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56782/" target="_blank">2010年2月编程语言排行榜</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>趣味理解：三层架构与养猪</title><link>http://www.cnblogs.com/ltp/archive/2009/06/30/1514284.html</link><dc:creator>李天平</dc:creator><author>李天平</author><pubDate>Tue, 30 Jun 2009 14:05:00 GMT</pubDate><guid>http://www.cnblogs.com/ltp/archive/2009/06/30/1514284.html</guid><description><![CDATA[<p>阅读: 6100 评论: 13 作者: <a href="http://www.cnblogs.com/ltp/" target="_blank">李天平</a> 发表于 2009-06-30 22:05 <a href="http://www.cnblogs.com/ltp/archive/2009/06/30/1514284.html" target="_blank">原文链接</a></p><p class="MsoNormal" style="margin: 0cm 0cm 3pt; text-indent: 21pt"><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">&nbsp;为了更好地让初学者轻松入门，这里仍然采用趣味性的方式聊一些常用技术点，致力于.NET新手们的快速提高！知识都是普通的，关键是学习的思路。技术源于生活，技术原来可以这样学。抛砖引玉而已。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 3pt; text-indent: 21pt"><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">&nbsp;层次结构在现实社会里随处可见。记得有个笑话讲有个村长得意地向他老婆吹牛：&#8220;全中国只有四个人比我官大，乡长、县长、省长和国务院总理&#8221;。这个笑话也体现了真实社会中分层的现象。社会人群会分层，公司人员结构也会分层，楼房是分层的，甚至做包子的笼屉都是分层的。虽然分层的目的各有不同，但都是为解决某一问题而产生的。所以，分层架构其实是为了解决某一问题而产生的一种解决方案。</span></p>
<h3 style="margin: 12pt 0cm 0pt"><font size="5"><font face="宋体"><span lang="EN-US" style="font-size: 12pt">14.1.1<span style="mso-spacerun: yes">&nbsp; </span></span><span style="font-size: 12pt">常用的三层架构设计</span></font></font></h3>
<p class="MsoNormal" style="margin: 0cm 0cm 3pt; text-indent: 21pt"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"></span>&nbsp;</p>
<p class="MsoNormal" style="margin: 0cm 0cm 3pt; text-indent: 21pt"><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">&nbsp;软件系统最常用的一般会讲到三层架构，其实就是将整个业务应用划分为表示层、业务逻辑层、数据访问层等，有的还要细一些，通过分解业务细节，将不同的功能代码分散开来，更利于系统的设计和开发，同时为可能的变更提供了更小的单元，十分有利于系统的维护和扩展。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 3pt; text-indent: 21pt"><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">&nbsp;常见的三层架构基本包括如下几个部分，如图</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">14-1</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">所示。</span></p>
<p class="a0" style="margin: 3pt 0cm 0pt"><span lang="EN-US"><v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype></span></p>
<p class="a" style="margin: 3pt 0cm 0pt"><font size="2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">
<div align="center"><img height="220" alt="" src="http://images.cnblogs.com/cnblogs_com/ltp/46234/o_14-1.JPG" width="187" border="0" /></div></span></font>
<p>&nbsp;</p>
<p class="a" style="margin: 3pt 0cm 0pt" align="center"><font size="2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">图</span><font face="Times New Roman"><span lang="EN-US">14-</span><span lang="EN-US"><span style="mso-no-proof: yes">1</span></span><span lang="EN-US"><span style="mso-spacerun: yes">&nbsp; </span></span></font><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">常见的三层架构</span></font></p>
<p class="a1" style="margin: 0cm 0cm 3pt 42.25pt; text-indent: 0cm"><span lang="EN-US" style="font-family: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings"><span style="font-size: 12pt; mso-list: Ignore">l<span style="font: 7pt 'Times New Roman'">&nbsp; </span></span></span><strong style="mso-bidi-font-weight: normal"><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">数据访问层</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">DAL</span></font></span></strong><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：用于实现与数据库的交互和访问，从数据库获取数据或保存数据到数据库的部分。</span></p>
<p class="a1" style="margin: 0cm 0cm 3pt 42.25pt; text-indent: 0cm"><span lang="EN-US" style="font-family: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings"><span style="font-size: 12pt; mso-list: Ignore">l<span style="font: 7pt 'Times New Roman'">&nbsp; </span></span></span><strong style="mso-bidi-font-weight: normal"><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">业务逻辑层</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">BLL</span></font></span></strong><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：业务逻辑层承上启下，用于对上下交互的数据进行逻辑处理，实现业务目标。</span></p>
<p class="a1" style="margin: 0cm 0cm 3pt 42.25pt; text-indent: 0cm"><span lang="EN-US" style="font-family: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings"><span style="font-size: 12pt; mso-list: Ignore">l<span style="font: 7pt 'Times New Roman'">&nbsp; </span></span></span><strong style="mso-bidi-font-weight: normal"><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">表示层</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Web</span></font></span></strong><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：主要实现和用户的交互，接收用户请求或返回用户请求的数据结果的展现，而具体的数据处理则交给业务逻辑层和数据访问层去处理。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 3pt; text-indent: 21pt"><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">&nbsp;日常开发的很多情况下为了复用一些共同的东西，会把一些各层都用的东西抽象出来。如我们将数据对象实体和方法分离，以便在多个层中传递，</span><span style="font-size: 12pt; font-family: 宋体">例如称为</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Model</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。一些共性的通用辅助类和工具方法，如数据校验、缓存处理、加解密处理等，为了让各个层之间复用，也单独分离出来，作为独立的模块使用，例如称为</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Common</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 3pt; text-indent: 21pt"><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">&nbsp;此时，三层架构会演变为如图</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">14-2</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">所示的情况。</span></p>
<p class="a0" style="margin: 3pt 0cm 0pt"><a name="tu"><span lang="EN-US"></span></a></p>
<p class="a" style="margin: 3pt 0cm 0pt" align="center"><font size="2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><img height="221" alt="" src="http://images.cnblogs.com/cnblogs_com/ltp/46234/o_14-2.JPG" width="301" border="0" /></span></font></p>
<p class="a" style="margin: 3pt 0cm 0pt" align="center"><font size="2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">图</span><font face="Times New Roman"><span lang="EN-US">14-</span><span lang="EN-US"><span style="mso-no-proof: yes">2</span></span><span lang="EN-US"><span style="mso-spacerun: yes">&nbsp; </span></span></font><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">三层架构演变结果</span></font></p>
<p class="a1" style="margin: 0cm 0cm 3pt 42.25pt; text-indent: 0cm"><span lang="EN-US" style="font-family: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings"><span style="font-size: 12pt; mso-list: Ignore">l<span style="font: 7pt 'Times New Roman'">&nbsp; </span></span></span><strong style="mso-bidi-font-weight: normal"><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">业务实体</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Model</span></font></span></strong><strong style="mso-bidi-font-weight: normal"><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：</span></strong><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用于封装实体类数据结构，一般用于映射数据库的数据表或视图，用以描述业务中客观存在的对象。</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Model</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">分离出来是为了更好地解耦，为了更好地发挥分层的作用，更好地进行复用和扩展，增强灵活性。</span></p>
<p class="a1" style="margin: 0cm 0cm 3pt 42.25pt; text-indent: 0cm"><span lang="EN-US" style="font-family: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings"><span style="font-size: 12pt; mso-list: Ignore">l<span style="font: 7pt 'Times New Roman'">&nbsp; </span></span></span><strong style="mso-bidi-font-weight: normal"><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">通用类库</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Common</span></font></span></strong><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：通用的辅助工具类。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 3pt; text-indent: 21pt"><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">&nbsp;在第</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">5.2</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">节中我们讲过可以将对数据库的共性操作抽象封装成数据操作类（例如</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">DbHelperSQL</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">），以便更好地复用和使代码简洁。数据层底层使用通用数据库操作类来访问数据库，最后完整的三层架构如图</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">14-3</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">所示。</span></p>
<p class="a0" style="margin: 3pt 0cm 0pt"><span lang="EN-US"></span></p>
<p class="a" style="margin: 3pt 0cm 0pt" align="center"><a name="OLE_LINK5"><span style="mso-bookmark: OLE_LINK6"><font size="2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><img height="239" alt="" src="http://images.cnblogs.com/cnblogs_com/ltp/46234/o_14-3.JPG" width="301" border="0" /></span></font></span></a></p>
<p class="a" style="margin: 3pt 0cm 0pt" align="center"><span style="mso-bookmark: OLE_LINK6"><font size="2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">图</span><span lang="EN-US"><font face="Times New Roman">14-</font></span></font></span><font size="2"><font face="Times New Roman"><span style="mso-bookmark: OLE_LINK5"><span style="mso-bookmark: OLE_LINK6"><span lang="EN-US"><span style="mso-no-proof: yes">3</span></span></span></span><span style="mso-bookmark: OLE_LINK5"><span style="mso-bookmark: OLE_LINK6"><span lang="EN-US"><span style="mso-spacerun: yes">&nbsp; </span></span></span></span></font><span style="mso-bookmark: OLE_LINK5"><span style="mso-bookmark: OLE_LINK6"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">最后完整的三层架构</span></span></span></font></p><span style="mso-bookmark: OLE_LINK6"></span><span style="mso-bookmark: OLE_LINK5"></span>
<p class="MsoNormal" style="margin: 0cm 0cm 3pt; text-indent: 21.1pt"><strong style="mso-bidi-font-weight: normal"><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">&nbsp;数据库访问类</span></strong><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是对</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">ADO.NET</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的封装，封装了一些常用的重复的数据库操作。如微软的企业库</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">SQLHelper.cs</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，动软的</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">DBUtility/DbHelperSQL</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">等，为</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">DAL</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">提供访问数据库的辅助工具类。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 3pt; text-indent: 21pt"><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">&nbsp;通过以上分析，我们知道如今常用的三层架构是个什么样子，同时，我们也知道了三层架构在使用过程中的一些演化过程。那么，为什么要这样分层，每层结构到底又起什么作用呢？我们继续往下看。</span></p>
<h3 style="margin: 12pt 0cm 0pt"><font size="5"><font face="宋体"><span lang="EN-US" style="font-size: 12pt">14.1.2<span style="mso-spacerun: yes">&nbsp; </span></span><span style="font-size: 12pt">趣味理解：三层架构与养猪</span></font></font></h3>
<p class="MsoNormal" style="margin: 0cm 0cm 3pt; text-indent: 21pt"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"></span>&nbsp;</p>
<p class="MsoNormal" style="margin: 0cm 0cm 3pt; text-indent: 21pt"><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">&nbsp;看新闻报道今年猪肉价格一路高涨，据说有人养猪都发财致富奔小康了，程序员都说写代码没前途了，还不如去养猪，不过，可别认为养猪没有技术含量，比写代码容易，其实养猪也大有学问。为了更好地理解三层架构，就拿养猪来做个例子吧。俗话说：&#8220;没吃过猪肉，还没见过猪跑啊！&#8221;。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 3pt; text-indent: 21pt"><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">&nbsp;图</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">14-4</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是三层架构化的养猪产业流水线趣味对此图。</span></p>
<p class="a0" style="margin: 3pt 0cm 0pt"><span lang="EN-US"></span></p>
<p class="a" style="margin: 3pt 0cm 0pt" align="center"><a name="OLE_LINK7"><span style="mso-bookmark: OLE_LINK8"><span style="mso-bookmark: OLE_LINK9"><font size="2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><img height="239" alt="" src="http://images.cnblogs.com/cnblogs_com/ltp/46234/o_14-4.JPG" width="301" border="0" /></span></font></span></span></a></p>
<p class="a" style="margin: 3pt 0cm 0pt" align="center"><span style="mso-bookmark: OLE_LINK8"><span style="mso-bookmark: OLE_LINK9"><font size="2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">图</span><span lang="EN-US"><font face="Times New Roman">14-4</font></span></font></span></span><font size="2"><span lang="EN-US"><span style="mso-spacerun: yes"><font face="Times New Roman">&nbsp; </font></span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">三层结构与养猪</span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 3pt; text-indent: 21pt"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">&nbsp; </span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对比图</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">14-3</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">与图</span><font face="Times New Roman"><span lang="EN-US" style="font-size: 12pt">14-</span><span lang="EN-US"><span style="font-size: 12pt; mso-no-proof: yes">4</span></span></font><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，我们可以看出：</span></p>
<p class="a1" style="margin: 0cm 0cm 3pt 42.25pt; text-indent: 0cm"><span lang="EN-US" style="font-family: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings"><span style="font-size: 12pt; mso-list: Ignore">l<span style="font: 7pt 'Times New Roman'">&nbsp; </span></span></span><strong style="mso-bidi-font-weight: normal"><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">数据库好比猪圈</span></strong><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，所有的猪有序地按区域或编号，存放在不同的猪栏里。</span></p>
<p class="a1" style="margin: 0cm 0cm 3pt 42.25pt; text-indent: 0cm"><span lang="EN-US" style="font-family: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings"><span style="font-size: 12pt; mso-list: Ignore">l<span style="font: 7pt 'Times New Roman'">&nbsp; </span></span></span><strong style="mso-bidi-font-weight: normal"><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">DAL</span></font></span></strong><strong style="mso-bidi-font-weight: normal"><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">好比是屠宰场</span></strong><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，把猪从猪圈取出来进行（处理）屠杀，按要求取出相应的部位（字段），或者进行归类整理（统计），形成整箱的猪肉（数据集），传送给食品加工厂（</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">BLL</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">）。本来这里都是同一伙人既管抓猪，又管杀猪的，后来觉得效率太低了，就让一部分人出来专管抓猪了（</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">DBUtility</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">），根据要求来抓取指定的猪。</span></p>
<p class="a1" style="margin: 0cm 0cm 3pt 42.25pt; text-indent: 0cm"><span lang="EN-US" style="font-family: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings"><span style="font-size: 12pt; mso-list: Ignore">l<span style="font: 7pt 'Times New Roman'">&nbsp; </span></span></span><strong style="mso-bidi-font-weight: normal"><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">BLL</span></font></span></strong><strong style="mso-bidi-font-weight: normal"><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">好比食品加工厂</span></strong><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，将猪肉深加工成各种可以食用的食品（业务处理）。</span></p>
<p class="a1" style="margin: 0cm 0cm 3pt 42.25pt; text-indent: 0cm"><span lang="EN-US" style="font-family: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings"><span style="font-size: 12pt; mso-list: Ignore">l<span style="font: 7pt 'Times New Roman'">&nbsp; </span></span></span><strong style="mso-bidi-font-weight: normal"><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Web</span></font></span></strong><strong style="mso-bidi-font-weight: normal"><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">好比商场</span></strong><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，将食品包装成漂亮的可以销售的产品，展现给顾客（</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">UI</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">表现层）。</span></p>
<p class="a1" style="margin: 0cm 0cm 3pt 42.25pt; text-indent: 0cm"><span lang="EN-US" style="font-family: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings"><span style="font-size: 12pt; mso-list: Ignore">l<span style="font: 7pt 'Times New Roman'">&nbsp; </span></span></span><strong style="mso-bidi-font-weight: normal"><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">猪肉好比</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Model</span></font></span></strong><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，无论是哪个厂（层），各个环节传递的本质都是猪肉，猪肉贯穿整个过程。</span></p>
<p class="a1" style="margin: 0cm 0cm 3pt 42.25pt; text-indent: 0cm"><span lang="EN-US" style="font-family: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings"><span style="font-size: 12pt; mso-list: Ignore">l<span style="font: 7pt 'Times New Roman'">&nbsp; </span></span></span><strong style="mso-bidi-font-weight: normal"><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">通用类库</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Common</span></font></span></strong><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">相当于工人使用的各种工具，为各个厂（层）提供诸如杀猪刀、绳子、剪刀、包装箱、工具车等共用的常用工具（类）。其实，每个部门本来是可以自己制作自己的工具的，但是那样会使效率比较低，而且也不专业，并且很多工作都会是重复的。因此，就专门有人开了这样的工厂来制作这些工具，提供给各个工厂，有了这样的分工，工厂就可以专心做自己的事情了。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 3pt; text-indent: 21pt"><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">&nbsp;当然<span style="font-size: 12pt; letter-spacing: 0.1pt">，这里只是形象的比喻，目的是为了让大家更好地理解，实际的情况在细节上会有所不同。这个例子也只是说明了从猪圈到商场的单向过程，而实际三层开发中的数据交互是双向的，可取可存。不过，据说有一种机器，把猪从这头赶进去，另一头就噗噗噜噜地出火腿肠了。如果火腿肠卖不了了，从那头再放进去，这头猪又原原本本出来了，科幻的机器吧，没想到也可以和三层结构联系上。以上只是笑谈，不过也使三层架构的基本概念更容易理解了。</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 3pt; text-indent: 21pt"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><span style="letter-spacing: 0.1pt"></span></span><span lang="EN-US" style="letter-spacing: 0.1pt"><o:p></o:p></span>&nbsp;</p>
<p class="MsoNormal" style="margin: 0cm 0cm 3pt; text-indent: 21pt"><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">&nbsp;上面谈了那么多，有人会问，我直接从数据库取出内容直接操作不可以吗？为什么要这么麻烦地用三层架构呢？三层架构到底有什么好处呢？</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 3pt; text-indent: 21pt"><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">&nbsp;不分层，当然可以，就好比整个过程不分屠宰场、加工场之类的，都在同一个场所（工厂）完成所有的活（屠杀、加工、销售）。但为什么要加工厂和商场呢？因为当规模比较大的时候，管理起来就会变得非常复杂，这样的养殖方式已经无法满足规模化的需要了。并且，从社会的发展来看，社会分工是人类进步的表现</span><span style="font-size: 12pt; color: black; font-family: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">。社会分工的优势就是让适合的人做自己擅长的事情，使平均社会劳动时间大大缩短，生产效率显著提高。能够提供优质高效劳动产品的人才能在市场竞争中获得高利润和高价值。人尽其才，物尽其用最深刻的含义就是由社会分工得出的。软件开发也一样，做小项目的时候，分不分层确实看不出什么差别，并且显得更麻烦啰嗦了。但当项目变大和变复杂时，分层就显示出它的优势来了。所以分不分层要根据项目的实际情况而定，不能一概而论<span style="font-size: 12pt; letter-spacing: 0.4pt">。</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 3pt; text-indent: 0cm; mso-char-indent-count: 0"><span lang="EN-US"><span style="mso-tab-count: 1"><font face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></span></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">更多详细内容请阅读<a href="http://book.maticsoft.com/" target="_blank"><span style="font-size: 12pt">《亮剑.NET：.NET深入体验与实战精要》</span></a></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">第</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">14</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">章</span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 3pt; text-indent: 0cm; mso-char-indent-count: 0"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"></span>&nbsp;</p> <img src="http://www.cnblogs.com/ltp/aggbug/1514284.html?type=1" width="1" height="1" alt=""/><p>评论: 13　<a href="http://www.cnblogs.com/ltp/archive/2009/06/30/1514284.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/ltp/archive/2009/06/30/1514284.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56793/" target="_blank">知名扩展 Firebug 的简化版登陆 Chrome</a><span style="color:gray">(2010-02-09 22:59)</span><br/>· <a href="http://news.cnblogs.com/n/56792/" target="_blank">Google 悄悄地启用 1e100.net，打枪地不要</a><span style="color:gray">(2010-02-09 22:57)</span><br/>· <a href="http://news.cnblogs.com/n/56791/" target="_blank">从 Google 代码库找到的好东西</a><span style="color:gray">(2010-02-09 22:46)</span><br/>· <a href="http://news.cnblogs.com/n/56789/" target="_blank">苹果在线商店临时关闭 或将推新Macbook</a><span style="color:gray">(2010-02-09 22:39)</span><br/>· <a href="http://news.cnblogs.com/n/56788/" target="_blank">豆瓣网推出豆瓣电台iPhone客户端</a><span style="color:gray">(2010-02-09 21:51)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56782/" target="_blank">2010年2月编程语言排行榜</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>《亮剑.NET：.NET深入体验与实战精要》荣升china-pub同类图书排行榜第一名</title><link>http://www.cnblogs.com/ltp/archive/2009/06/28/1512552.html</link><dc:creator>李天平</dc:creator><author>李天平</author><pubDate>Sun, 28 Jun 2009 03:03:00 GMT</pubDate><guid>http://www.cnblogs.com/ltp/archive/2009/06/28/1512552.html</guid><description><![CDATA[<p>阅读: 2550 评论: 0 作者: <a href="http://www.cnblogs.com/ltp/" target="_blank">李天平</a> 发表于 2009-06-28 11:03 <a href="http://www.cnblogs.com/ltp/archive/2009/06/28/1512552.html" target="_blank">原文链接</a></p><p>《亮剑.NET：.NET深入体验与实战精要》6月17日开始正式发售，仅仅10天即荣升china-pub同类图书排行榜第一名 
<p>&nbsp;
<p><a style="border-right: 0px; border-top: 0px; margin: 0px; border-left: 0px; border-bottom: 0px" href="http://images.cnblogs.com/cnblogs_com/ltp/46234/o_top-1.jpg" target="_blank"><img height="80%" alt="《亮剑.NET：.NET深入体验与实战精要》荣升china-pub同类图书排行榜第一名" src="http://images.cnblogs.com/cnblogs_com/ltp/46234/o_top.jpg" width="80%" border="0" /></a> 
<p>
<p>
<p>&nbsp;&nbsp;<a href="http://www.china-pub.com/rank/?type=59-05-06&amp;act=day&amp;v=30" target="_blank">网站排行榜地址</a> 
<p>&nbsp;</p> <img src="http://www.cnblogs.com/ltp/aggbug/1512552.html?type=1" width="1" height="1" alt=""/><p>评论: 0　<a href="http://www.cnblogs.com/ltp/archive/2009/06/28/1512552.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/ltp/archive/2009/06/28/1512552.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56793/" target="_blank">知名扩展 Firebug 的简化版登陆 Chrome</a><span style="color:gray">(2010-02-09 22:59)</span><br/>· <a href="http://news.cnblogs.com/n/56792/" target="_blank">Google 悄悄地启用 1e100.net，打枪地不要</a><span style="color:gray">(2010-02-09 22:57)</span><br/>· <a href="http://news.cnblogs.com/n/56791/" target="_blank">从 Google 代码库找到的好东西</a><span style="color:gray">(2010-02-09 22:46)</span><br/>· <a href="http://news.cnblogs.com/n/56789/" target="_blank">苹果在线商店临时关闭 或将推新Macbook</a><span style="color:gray">(2010-02-09 22:39)</span><br/>· <a href="http://news.cnblogs.com/n/56788/" target="_blank">豆瓣网推出豆瓣电台iPhone客户端</a><span style="color:gray">(2010-02-09 21:51)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56782/" target="_blank">2010年2月编程语言排行榜</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>《亮剑.NET：.NET深入体验与实战精要》推荐序</title><link>http://www.cnblogs.com/ltp/archive/2009/06/20/1507209.html</link><dc:creator>李天平</dc:creator><author>李天平</author><pubDate>Sat, 20 Jun 2009 00:52:00 GMT</pubDate><guid>http://www.cnblogs.com/ltp/archive/2009/06/20/1507209.html</guid><description><![CDATA[<p>阅读: 1303 评论: 1 作者: <a href="http://www.cnblogs.com/ltp/" target="_blank">李天平</a> 发表于 2009-06-20 08:52 <a href="http://www.cnblogs.com/ltp/archive/2009/06/20/1507209.html" target="_blank">原文链接</a></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt; line-height: 150%"><span lang="EN-US" style="font-size: 12px; line-height: 150%; font-family: 宋体">.NET</span><span style="font-size: 12px; line-height: 150%; font-family: 宋体">平台已经发展为微软重要的战略平台之一，不仅提供了强大的编程语言，丰富的类库，方便的集成开发工具，同时为我们提供了一整套的软件开发生命周期管理解决方案。我们也非常高兴的看到，越来越多的年轻程序员加入到了<span lang="EN-US">.NET</span>阵营中来。然而很多朋友却在步入<span lang="EN-US">.NET</span>大门之时变得迷惘，感觉学了很多的知识，却不知道如何在实际项目中使用，又或者他们不知道这些知识该用来解决哪类的问题，以至于总觉得自己无法提高，以至于彷徨不前。<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt; line-height: 150%"><span style="font-size: 12px; line-height: 150%; font-family: 宋体">天平兄在软件行业从业多年，具有丰富的开发经验，尤其在<span lang="EN-US">.NET</span>平台上，更是有着深入独到的理解，他愿意把自己的经验总结出来，并行文成书，对于广大<span lang="EN-US">.NET</span>初学者来说，不能不说是一件幸事。本书并不是一个开发指南，也不是针对某一个特定语言或者特定框架的使用介绍，完全是实际项目经验的浓缩与提炼，小到编写代码中的一个技巧，细节决定成败，大到系统设计的原则与技巧，大型网站的性能优化与安全。这些知识恰恰是<span lang="EN-US">.NET</span>初学者朋友所迫切需要掌握的。<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt; line-height: 150%"><span style="font-size: 12px; line-height: 150%; font-family: 宋体">我认识天平兄是大约在三年前，当时博客园上有一款风靡一时的<span lang="EN-US">.NET</span>代码生成器，其作者就是李天平，此后我们虽然在网上有过多次交流，却从未谋面，实为一件憾事。受天平兄的委托，让我为本书作序，在读完本书书稿之后，给我的感觉是本书有点有面，点面俱全，相信读完本书的朋友，一定会有不一样的收获。<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt; line-height: 150%"><span style="font-size: 12px; line-height: 150%; font-family: 宋体">最后，希望广大<span lang="EN-US">.NET</span>程序员朋友，不要再彷徨不前，带上这本《亮剑<span lang="EN-US">.NET</span>：<span lang="EN-US">.NET</span>深入体验与实战精要》，踏上<span lang="EN-US">.NET</span>征途，相信自己的选择，成功就在前面。<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 150%; text-align: right" align="right"><span style="font-size: 12px; line-height: 150%; font-family: 宋体">资深架构师、博客园专家、微软<span lang="EN-US">MVP&nbsp; <o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 150%; text-align: right" align="right"><span style="font-size: 12px; line-height: 150%; font-family: 宋体">李会军&nbsp; <span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 150%; text-align: right" align="right"><span lang="EN-US" style="font-size: 12px; line-height: 150%; font-family: 宋体">2009</span><span style="font-size: 12px; line-height: 150%; font-family: 宋体">年<span lang="EN-US">5</span>月于北京&nbsp; <span lang="EN-US"><o:p></o:p></span></span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 24pt; line-height: 150%; mso-char-indent-count: 2.0"><span style="font-size: 12px; line-height: 150%; font-family: 宋体">作为在<span lang="EN-US">Microsoft</span>工作这么多年的老微软人而言，一方面对于<span lang="EN-US">.NET</span>技术得到越来越多国内同行的认可和推崇而颇感欣慰，另一方面也深深觉得，<span lang="EN-US">.NET</span>技术推广的步子还可以迈得更大、更快一些。拥有系统平台资源，强大的产品整合能力，以及成熟研发团队的持续支持，是<span lang="EN-US">.NET</span>毋庸置疑的优势。然而，与微软任一款产品一样，从诞生之日起，针对<span lang="EN-US">.NET</span>开发的诟病也不绝于耳。批评与关注相伴相生，微软、<span lang="EN-US">.NET</span>，还有我，都会继续成长。<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 150%"><span lang="EN-US" style="font-size: 12px; line-height: 150%; font-family: 宋体"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 12px; line-height: 150%; font-family: 宋体">人们常常会议论<span lang="EN-US">.NET</span>不够<span lang="EN-US">OPEN</span>，其实微软对开源从来都不乏热诚，一直在支持相关社区的发展。开源是一种精神，<span lang="EN-US">.NET</span>程序员从不缺这种精神，本书作者就是其中的一个典范。很多人在学习<span lang="EN-US">.NET</span>的过程中受到过他的帮助，其中包括很多我的学生和新同事，他们中的一部分至今还保持着和天平老师交流技术心得的习惯。<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 24pt; line-height: 150%"><span style="font-size: 12px; line-height: 150%; font-family: 宋体">很有幸能先于其他人看到这本图书，随之而来的义务就是要贡献出自己的阅读感受。对于看过不少<span lang="EN-US">.NET</span>图书，特别是外版图书的我来说，这本书显得有些另类。大量<span lang="EN-US">.NET</span>图书像<span lang="EN-US">Microsoft</span>的产品一样结构严谨、次序井然，如同严厉的导师，而这本书则富有野趣，没有过多知识框架的限制，没有教科书中的讲述脉络，有的只是作者本人学习和工作感受的真实记录。做技术的人都知道，一代代人遇到的问题总是惊人的相似，所以天平遇到和被问到的问题，相信会是大多数人已经和即将遇到的问题。在我看来，这就是这本书最大的价值！<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 24pt; line-height: 150%"><span style="font-size: 12px; line-height: 150%; font-family: 宋体">最后有个愿望，书出来后天平能友情送我几本，我用来赠送小师弟，特别是小师妹&#8230;&#8230;<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 24pt; line-height: 150%"><span lang="EN-US" style="font-size: 12px; line-height: 150%; font-family: 宋体"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 24pt; line-height: 150%; text-align: right" align="right"><span lang="EN-US" style="font-size: 12px; line-height: 150%; font-family: 宋体"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 12px; line-height: 150%; font-family: 宋体">微软亚洲研究院<span lang="EN-US"><span style="mso-spacerun: yes">&nbsp;&nbsp; </span></span>刘晓华&nbsp; </span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 24pt; line-height: 150%; text-align: right" align="right"><span style="font-size: 12px; line-height: 150%; font-family: 宋体"><span lang="EN-US">2009</span>年<span lang="EN-US">5</span>月于北京&nbsp; </span></p>
<p>&nbsp;</p>
<p>&nbsp;</p><img src="http://www.cnblogs.com/ltp/aggbug/1507209.html?type=1" width="1" height="1" alt=""/><p>评论: 1　<a href="http://www.cnblogs.com/ltp/archive/2009/06/20/1507209.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/ltp/archive/2009/06/20/1507209.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56793/" target="_blank">知名扩展 Firebug 的简化版登陆 Chrome</a><span style="color:gray">(2010-02-09 22:59)</span><br/>· <a href="http://news.cnblogs.com/n/56792/" target="_blank">Google 悄悄地启用 1e100.net，打枪地不要</a><span style="color:gray">(2010-02-09 22:57)</span><br/>· <a href="http://news.cnblogs.com/n/56791/" target="_blank">从 Google 代码库找到的好东西</a><span style="color:gray">(2010-02-09 22:46)</span><br/>· <a href="http://news.cnblogs.com/n/56789/" target="_blank">苹果在线商店临时关闭 或将推新Macbook</a><span style="color:gray">(2010-02-09 22:39)</span><br/>· <a href="http://news.cnblogs.com/n/56788/" target="_blank">豆瓣网推出豆瓣电台iPhone客户端</a><span style="color:gray">(2010-02-09 21:51)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56782/" target="_blank">2010年2月编程语言排行榜</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>《亮剑.NET：.NET深入体验与实战精要》在线勘误提交</title><link>http://www.cnblogs.com/ltp/archive/2009/06/19/1507138.html</link><dc:creator>李天平</dc:creator><author>李天平</author><pubDate>Fri, 19 Jun 2009 15:27:00 GMT</pubDate><guid>http://www.cnblogs.com/ltp/archive/2009/06/19/1507138.html</guid><description><![CDATA[<p>阅读: 996 评论: 20 作者: <a href="http://www.cnblogs.com/ltp/" target="_blank">李天平</a> 发表于 2009-06-19 23:27 <a href="http://www.cnblogs.com/ltp/archive/2009/06/19/1507138.html" target="_blank">原文链接</a></p><p>&nbsp;&nbsp;&nbsp;&nbsp; 由于本书的写作多于工作之余，<img alt="" src="http://www.cnblogs.com/Emoticons/msn/moon.gif" />夜深人静之时，难免有瞌睡片刻<img alt="" src="http://www.cnblogs.com/Emoticons/msn/77_77.gif" />，所以，必有细节不周之处。虽然作者和编审人员进行了反复地修改和审阅，但难免有失误、遗漏之处<img alt="" src="http://www.cnblogs.com/Emoticons/QQ/02.gif" />。所以，还望大家以宽容为本，以慈悲为怀，以共同探讨、共同进步的平和心态来阅读本书。作者心存谨敬，随时恭候您提出的宝贵意见。 </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果您发现错误或问题可以在此提交问题，也可以直接给我发送邮件<img alt="" src="http://www.cnblogs.com/Emoticons/msn/envelope.gif" />：<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#108;&#105;&#116;&#105;&#97;&#110;&#112;&#105;&#110;&#103;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;">litianping@gmail.com</a>&nbsp;&nbsp; 非常感谢您的理解与支持！<img alt="" src="http://www.cnblogs.com/Emoticons/QQ/49.gif" /></p>
<p>&nbsp;</p>
<p>------------------------------</p>
<p>目前发现的勘误信息：<br /><li>第1章第12页1.3.4节，&#8220;例如：int n;，会报错。&#8221; 应为 &#8220;例如：int n;，会报警。&#8221;。</li><li>第1章第15页，&#8220;所以在运行这段代码时，会显示数字30。&#8221; 应为 &#8220;所以在运行这段代码时，会显示数字5。"。</li><li>第3章125页： &#8220;Aplication对象&#8221; 应为 &#8220;Application对象&#8221;。</li><li>第7章292页： &#8220;Fromework 1.0和Fromework 1.1是有区别的&#8221; 应为 &#8220;Framework 1.0和Framework 1.1是有区别的&#8221;。</li><li>第11章第417页：&#8220;学习的过程需要付出时间成败&#8221; 应为&#8220;学习的过程需要付出时间成本&#8221;。</li><li>第12章第429页：&#8220;WCF才会在.NET2.0中作为全新的分布式开发技术&#8221; 应为&#8220;WCF才会在.NET3.0中作为全新的分布式开发技术&#8221;。</li><li>第15章526页：&#8220;使用HashTale&#8221; 应为 &#8220;使用HashTable&#8221;。</li><li>第15章546页：&#8220;VaryByParam="p,n"&#8221; 应为 &#8220;VaryByParam="p;n"&#8221;。</li><li>第15章目录章尾小节标题：&#8220;职场智慧之学习方法&#8221; 应为 &#8220;职场智慧之独善其身&#8221;。 &nbsp; 
<p>&nbsp;</p>
<p>&nbsp;</p></li><img src="http://www.cnblogs.com/ltp/aggbug/1507138.html?type=1" width="1" height="1" alt=""/><p>评论: 20　<a href="http://www.cnblogs.com/ltp/archive/2009/06/19/1507138.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/ltp/archive/2009/06/19/1507138.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56793/" target="_blank">知名扩展 Firebug 的简化版登陆 Chrome</a><span style="color:gray">(2010-02-09 22:59)</span><br/>· <a href="http://news.cnblogs.com/n/56792/" target="_blank">Google 悄悄地启用 1e100.net，打枪地不要</a><span style="color:gray">(2010-02-09 22:57)</span><br/>· <a href="http://news.cnblogs.com/n/56791/" target="_blank">从 Google 代码库找到的好东西</a><span style="color:gray">(2010-02-09 22:46)</span><br/>· <a href="http://news.cnblogs.com/n/56789/" target="_blank">苹果在线商店临时关闭 或将推新Macbook</a><span style="color:gray">(2010-02-09 22:39)</span><br/>· <a href="http://news.cnblogs.com/n/56788/" target="_blank">豆瓣网推出豆瓣电台iPhone客户端</a><span style="color:gray">(2010-02-09 21:51)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56782/" target="_blank">2010年2月编程语言排行榜</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>.NET开发中的事务处理大比拼</title><link>http://www.cnblogs.com/ltp/archive/2009/06/17/1505304.html</link><dc:creator>李天平</dc:creator><author>李天平</author><pubDate>Wed, 17 Jun 2009 12:38:00 GMT</pubDate><guid>http://www.cnblogs.com/ltp/archive/2009/06/17/1505304.html</guid><description><![CDATA[<p>阅读: 2363 评论: 0 作者: <a href="http://www.cnblogs.com/ltp/" target="_blank">李天平</a> 发表于 2009-06-17 20:38 <a href="http://www.cnblogs.com/ltp/archive/2009/06/17/1505304.html" target="_blank">原文链接</a></p><p class="MsoNormal" style="margin: 0cm 0cm 3pt; text-indent: 21pt"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">事务是一组组合成逻辑工作单元的数据库操作，在系统执行过程中可能会出错，但事务将控制和维护每个数据库的一致性和完整性。事务处理的主要特征是，任务要么全部完成，要么都不完成。在写入一些记录时，要么写入所有记录，要么什么都不写入。如果在写入一个记录时出现了一个失败，那么在事务处理中已写入的其他数据就会回滚。事务可能由很多单个任务构成。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 3pt; text-indent: 21pt"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">简单事务的一个常见例子：把钱从</span><span lang="EN-US"><font face="Times New Roman">A</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">账户转到</span><span lang="EN-US"><font face="Times New Roman">B</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">账户，这涉及两项任务，即从</span><span lang="EN-US"><font face="Times New Roman">A</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">账户把钱取出来；把钱存入</span><span lang="EN-US"><font face="Times New Roman">B</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">账户。两项任务要么同时成功，要么一起失败，给予回滚，以便保持账户的状态和原来相同。否则，在执行某一个操作的时候</span><span style="font-family: 宋体; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥; mso-bidi-font-size: 10.5pt">可能会因为停电、网络中断等原因而出现故障，所以有可能更新了一个表中的行，但没有更新相关表中的行。如果数据库支持事务，则可以将数据库操作组成一个事务，以防止因这些事件而使数据库出现不一致。</span><span lang="EN-US" style="font-family: 'ˎ̥','serif'; mso-bidi-font-size: 10.5pt"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 3pt; text-indent: 21pt"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">事务的</span><span lang="EN-US"><font face="Times New Roman">ACID</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">属性如下。</span></p>
<p class="a" style="margin: 0cm 0cm 3pt 42.25pt"><span lang="EN-US" style="font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings"><span style="mso-list: Ignore">l<span style="font: 7pt 'Times New Roman'">&nbsp; </span></span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">原子性（</span><span lang="EN-US"><font face="Times New Roman">Atomicity</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">）：事务的所有操作是原子工作单元；对于其数据修改，要么全都执行，要么全都不执行。原子性消除了系统处理操作子集的可能性。</span></p>
<p class="a" style="margin: 0cm 0cm 3pt 42.25pt"><span lang="EN-US" style="font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings"><span style="mso-list: Ignore">l<span style="font: 7pt 'Times New Roman'">&nbsp; </span></span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">一致性（</span><span lang="EN-US"><font face="Times New Roman">Consistency</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">）：数据从一种正确状态转换到另一种正确状态。事务在完成时，必须使所有的数据都保持一致。在相关数据库中，所有规则都必须应用于事务的修改，以保持所有数据的完整性。当事务结束时，所有的内部数据结构都必须是正确的。在存款取款的例子中，逻辑规则是，钱是不能凭空产生或销毁的，对于每个（收支）条目必须有一个相应的抵衡条目产生，以保证账户是平的。</span></p>
<p class="a" style="margin: 0cm 0cm 3pt 42.25pt"><span lang="EN-US" style="font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings"><span style="mso-list: Ignore">l<span style="font: 7pt 'Times New Roman'">&nbsp; </span></span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">隔离性（</span><span lang="EN-US"><font face="Times New Roman">Isolation</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">）：由并发事务所作的修改必须与任何其他并发事务所作的修改隔离。查看数据时数据所处的状态，要么是事务修改它之前的状态，要么是事务修改它之后的状态。简单的理解就是，防止多个并发更新彼此干扰。事务在操作数据时与其他事务操作隔离。隔离性一般是通过加锁的机制来实现的。</span></p>
<p class="a" style="margin: 0cm 0cm 3pt 42.25pt"><span lang="EN-US" style="font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings"><span style="mso-list: Ignore">l<span style="font: 7pt 'Times New Roman'">&nbsp; </span></span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">持久性（</span><span lang="EN-US"><font face="Times New Roman">Durability</font></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="margin: 0cm 0cm 3pt; text-indent: 21pt"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对于事务的开发，</span><span lang="EN-US"><font face="Times New Roman">.NET</font></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="margin: 0cm 0cm 3pt; text-indent: 21pt"><span lang="EN-US"><font face="Times New Roman">.NET</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">开发者可以使用以下</span><span lang="EN-US"><font face="Times New Roman">5</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">种事务机制：</span></p>
<p class="a" style="margin: 0cm 0cm 3pt 42.25pt"><span lang="EN-US" style="font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings"><span style="mso-list: Ignore">l<span style="font: 7pt 'Times New Roman'">&nbsp; </span></span></span><span lang="EN-US"><font face="Times New Roman">SQL</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和存储过程级别的事务。</span></p>
<p class="a" style="margin: 0cm 0cm 3pt 42.25pt"><span lang="EN-US" style="font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings"><span style="mso-list: Ignore">l<span style="font: 7pt 'Times New Roman'">&nbsp; </span></span></span><span lang="EN-US"><font face="Times New Roman">ADO.NET</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">级别的事务。</span></p>
<p class="a" style="margin: 0cm 0cm 3pt 42.25pt"><span lang="EN-US" style="font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings"><span style="mso-list: Ignore">l<span style="font: 7pt 'Times New Roman'">&nbsp; </span></span></span><span lang="EN-US"><font face="Times New Roman">ASP.NET</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">页面级别的事务。</span></p>
<p class="a" style="margin: 0cm 0cm 3pt 42.25pt"><span lang="EN-US" style="font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings"><span style="mso-list: Ignore">l<span style="font: 7pt 'Times New Roman'">&nbsp; </span></span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">企业级服务</span><span lang="EN-US"><font face="Times New Roman">COM+</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">事务。</span></p>
<p class="a" style="margin: 0cm 0cm 3pt 42.25pt"><span lang="EN-US" style="font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings"><span style="mso-list: Ignore">l<span style="font: 7pt 'Times New Roman'">&nbsp; </span></span></span><span lang="EN-US"><font face="Times New Roman">System.Transactions </font></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="margin: 0cm 0cm 3pt; text-indent: 21pt"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这</span><span lang="EN-US"><font face="Times New Roman">5</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">种事务机制有着各自的优势和劣势，分别表现在性能、代码数量和部署设置等方面。开发人员可以根据项目的实际情况选择相应的事务机制。下面就开始分别说明日常开发中5种事务的具体使用。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 3pt; text-indent: 21pt"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"></span>&nbsp;</p>
<p class="MsoNormal" style="margin: 0cm 0cm 3pt; text-indent: 21pt"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">1 <a id="homepage1_HomePageDays_DaysList_ctl00_DayItem_DayList_ctl04_TitleUrl" href="http://www.cnblogs.com/ltp/archive/2009/06/17/1505308.html" target="_blank">.NET开发中的事务处理大比拼 之 SQL和存储过程级别事务</a></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 3pt; text-indent: 21pt"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">2 <a id="homepage1_HomePageDays_DaysList_ctl00_DayItem_DayList_ctl03_TitleUrl" href="http://www.cnblogs.com/ltp/archive/2009/06/17/1505311.html" target="_blank">.NET开发中的事务处理大比拼 之 ADO.NET级别的事务</a> </span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 3pt; text-indent: 21pt"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">3 <a id="homepage1_HomePageDays_DaysList_ctl00_DayItem_DayList_ctl02_TitleUrl" href="http://www.cnblogs.com/ltp/archive/2009/06/17/1505314.html" target="_blank">.NET开发中的事务处理大比拼 之 ASP.NET页面级别的事务</a></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 3pt; text-indent: 21pt"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">4 <a id="homepage1_HomePageDays_DaysList_ctl00_DayItem_DayList_ctl01_TitleUrl" href="http://www.cnblogs.com/ltp/archive/2009/06/17/1505318.html" target="_blank">.NET开发中的事务处理大比拼 之 企业级服务COM+事务</a></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 3pt; text-indent: 21pt"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">5 <a id="homepage1_HomePageDays_DaysList_ctl00_DayItem_DayList_ctl00_TitleUrl" href="http://www.cnblogs.com/ltp/archive/2009/06/17/1505319.html" target="_blank">.NET开发中的事务处理大比拼 之 System.Transactions</a> </span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 3pt; text-indent: 21pt"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"></span>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 选自<a href="http://book.maticsoft.com/" target="_blank"><font color="#336699">《亮剑.NET. .NET深入体验与实战精要》</font></a> 5.4 节。</p>
<p>&nbsp;</p> <img src="http://www.cnblogs.com/ltp/aggbug/1505304.html?type=1" width="1" height="1" alt=""/><p>评论: 0　<a href="http://www.cnblogs.com/ltp/archive/2009/06/17/1505304.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/ltp/archive/2009/06/17/1505304.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56793/" target="_blank">知名扩展 Firebug 的简化版登陆 Chrome</a><span style="color:gray">(2010-02-09 22:59)</span><br/>· <a href="http://news.cnblogs.com/n/56792/" target="_blank">Google 悄悄地启用 1e100.net，打枪地不要</a><span style="color:gray">(2010-02-09 22:57)</span><br/>· <a href="http://news.cnblogs.com/n/56791/" target="_blank">从 Google 代码库找到的好东西</a><span style="color:gray">(2010-02-09 22:46)</span><br/>· <a href="http://news.cnblogs.com/n/56789/" target="_blank">苹果在线商店临时关闭 或将推新Macbook</a><span style="color:gray">(2010-02-09 22:39)</span><br/>· <a href="http://news.cnblogs.com/n/56788/" target="_blank">豆瓣网推出豆瓣电台iPhone客户端</a><span style="color:gray">(2010-02-09 21:51)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56782/" target="_blank">2010年2月编程语言排行榜</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>趣味理解ADO.NET对象模型</title><link>http://www.cnblogs.com/ltp/archive/2009/06/17/1505290.html</link><dc:creator>李天平</dc:creator><author>李天平</author><pubDate>Wed, 17 Jun 2009 11:56:00 GMT</pubDate><guid>http://www.cnblogs.com/ltp/archive/2009/06/17/1505290.html</guid><description><![CDATA[<p>阅读: 3460 评论: 22 作者: <a href="http://www.cnblogs.com/ltp/" target="_blank">李天平</a> 发表于 2009-06-17 19:56 <a href="http://www.cnblogs.com/ltp/archive/2009/06/17/1505290.html" target="_blank">原文链接</a></p><p><span style="font-size: 10.5pt; font-family: 宋体; mso-font-kerning: 10.5pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">&nbsp;&nbsp;&nbsp; 数据库的应用在我们的生活和工作中已经无处不在，无论是一个小企业的<span lang="EN-US">OA</span>系统，还是中国移动的运营系统，似乎都离不开数据库的应用。对于大多数应用程序来说，不管它们是<span lang="EN-US">Windows</span>桌面应用程序，还是<span lang="EN-US">Web</span>应用程序，存储和检索数据都是其核心功能。所以针对数据库的开发已经成为软件开发的一种必备技能。如果说过去是&#8220;学好数理化，走遍天下都不怕&#8221;，那么，对于今天的软件开发者而言就是&#8220;学好数据库，走到哪儿都不怵！&#8221;。</span></p>
<p><span style="font-size: 10.5pt; font-family: 宋体; mso-font-kerning: 10.5pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">&nbsp;&nbsp;&nbsp; <span lang="EN-US">ADO.NET</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是微软新一代</span><span lang="EN-US">.NET</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">数据库的访问架构，</span><span lang="EN-US">ADO</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是</span><span lang="EN-US">ActiveX Data Objects</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的缩写。</span><span lang="EN-US">ADO.NET</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是数据库应用程序和数据源之间沟通的桥梁，主要提供一个面向对象的数据访问架构，用来开发数据库应用程序。</span></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 为了更好地理解ADO.NET的架构模型的各个组成部分，我们可以对ADO.NET中的相关对象进行图示理解，如图5-3所示的是ADO.NET中数据库对象的关系图。</p>
<p>
<div align="center"><img height="212" alt="ADO.NET对象模型" src="http://book.csdn.net/BookFiles/1062/img/image008.gif" width="215" /></div>
<p>&nbsp;</p>
<p class="a1" align="center">图5-3&nbsp; ADO.NET对象模型</p>
<p class="MsoNormal" style="margin-bottom: 3.9pt; text-indent: 21pt">我们可以用趣味形象化的方式理解ADO.NET对象模型的各个部分，如图5-4所示，可以看出这些对象所处的地位和对象间的逻辑关系。</p>
<p class="MsoNormal" style="margin-bottom: 3.9pt; text-indent: 21pt" align="center"><img height="182" alt="ADO.NET趣味理解图" src="http://book.csdn.net/BookFiles/1062/img/image009.gif" width="273" /></p>
<p class="MsoNormal" style="margin-bottom: 3.9pt; text-indent: 21pt" align="center">&nbsp;ADO.NET趣味理解图</p>
<p>&nbsp;</p>
<p>
<table class="MsoNormalTable" style="border-right: medium none; border-top: medium none; margin: auto auto auto 5.4pt; border-left: medium none; width: 656px; border-bottom: medium none; border-collapse: collapse; height: 308px; mso-table-layout-alt: fixed; mso-border-top-alt: dashed windowtext .5pt; mso-border-bottom-alt: dashed windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt" cellspacing="0" cellpadding="0" border="1">
<tr style="height: 39pt; mso-yfti-lastrow: yes">
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: windowtext 1pt dashed; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #d4d0c8; width: 47.6pt; padding-top: 0cm; border-bottom: windowtext 1pt dashed; height: 39pt; background-color: transparent; mso-border-top-alt: dashed windowtext .5pt; mso-border-bottom-alt: dashed windowtext .5pt" valign="top" width="63">
<p class="MsoNormal" style="margin: 2.4pt 0cm 0pt; vertical-align: middle; text-indent: 0cm; line-height: 22pt; text-align: center; mso-char-indent-count: 0; mso-para-margin-top: .2gd; mso-para-margin-right: 0cm; mso-para-margin-bottom: .0001pt; mso-para-margin-left: 0cm; mso-line-height-rule: exactly" align="center"><span lang="EN-US" style="mso-no-proof: yes"><v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype><o:p></o:p></span></p>
<p class="a" style="margin: 0cm 0cm 3pt; text-indent: 21pt; line-height: 15pt; mso-line-height-rule: exactly"><span style="font-family: 黑体; mso-font-kerning: 10.5pt; mso-bidi-font-size: 12.0pt; mso-bidi-font-weight: bold"><font size="2">&nbsp;</p>
<p class="MsoNormal" style="margin: 3.1pt 0cm 0pt; vertical-align: middle; text-indent: 0cm; line-height: 22pt; text-align: center" align="center"><img height="27" alt="" src="http://book.csdn.net/BookFiles/1062/img/image010.jpg" width="34" /></p>
<p class="a1" style="margin: 0cm 0cm 0pt; line-height: 15pt">趣味理解</p>
<p class="a" style="margin: 0cm 0cm 3pt; text-indent: 21pt; line-height: 15pt; mso-line-height-rule: exactly"></font></span>&nbsp;</p></td>
<td style="border-right: #d4d0c8; padding-right: 5.4pt; border-top: windowtext 1pt dashed; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #d4d0c8; width: 374.45pt; padding-top: 0cm; border-bottom: windowtext 1pt dashed; height: 39pt; background-color: transparent; mso-border-top-alt: dashed windowtext .5pt; mso-border-bottom-alt: dashed windowtext .5pt" width="499">
<p class="a0" style="margin: 0cm 0cm 3pt; text-indent: 21pt"><span style="font-family: 楷体_GB2312; mso-ascii-font-family: 'Times New Roman'">对比</span><span lang="EN-US"><font face="Times New Roman">ADO.NET</font></span><span style="font-family: 楷体_GB2312; mso-ascii-font-family: 'Times New Roman'">的数据库对象的关系图，我们可以用对比的方法来形象地理解每个对象的作用，如图</span><span lang="EN-US"><font face="Times New Roman">5-4</font></span><span style="font-family: 楷体_GB2312; mso-ascii-font-family: 'Times New Roman'">所示。</span><span lang="EN-US" style="font-family: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-fareast-font-family: 楷体_GB2312"><o:p></o:p></span></p>
<p class="a0" style="margin: 0cm 0cm 3pt 43.6pt; text-indent: 21pt; mso-list: l0 level2 lfo1"><span lang="EN-US" style="font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings"><span style="mso-list: Ignore">l<span style="font: 7pt 'Times New Roman'">&nbsp; </span></span></span><span style="font-family: 楷体_GB2312; mso-ascii-font-family: 'Times New Roman'">数据库好比水源，存储了大量的数据。</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="a0" style="margin: 0cm 0cm 3pt 43.6pt; text-indent: 21pt; mso-list: l0 level2 lfo1"><span lang="EN-US" style="font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings"><span style="mso-list: Ignore">l<span style="font: 7pt 'Times New Roman'">&nbsp; </span></span></span><span lang="EN-US"><font face="Times New Roman">Connection</font></span><span style="font-family: 楷体_GB2312; mso-ascii-font-family: 'Times New Roman'">好比伸入水中的进水笼头，保持与水的接触，只有它与水进行了&#8220;连接&#8221;，其他对象才可以抽到水。</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="a0" style="margin: 0cm 0cm 3pt 43.6pt; text-indent: 21pt; mso-list: l0 level2 lfo1"><span lang="EN-US" style="font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings"><span style="mso-list: Ignore">l<span style="font: 7pt 'Times New Roman'">&nbsp; </span></span></span><span lang="EN-US"><font face="Times New Roman">Command</font></span><span style="font-family: 楷体_GB2312; mso-ascii-font-family: 'Times New Roman'">则像抽水机，为抽水提供动力和执行方法，通过&#8220;水龙头&#8221;，然后把水返给上面的&#8220;水管&#8221;。</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="a0" style="margin: 0cm 0cm 3pt 43.6pt; text-indent: 21pt; mso-list: l0 level2 lfo1"><span lang="EN-US" style="font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings"><span style="mso-list: Ignore">l<span style="font: 7pt 'Times New Roman'">&nbsp; </span></span></span><span lang="EN-US"><font face="Times New Roman">DataAdapter</font></span><span style="font-family: 楷体_GB2312; mso-ascii-font-family: 'Times New Roman'">、</span><span lang="EN-US"><font face="Times New Roman">DataReader</font></span><span style="font-family: 楷体_GB2312; mso-ascii-font-family: 'Times New Roman'">就像输水管，担任着水的传输任务，并起着桥梁的作用。DataAdapter 像一根输水管，通过发动机，把水从水源输送到水库里进行保存。DataReader 也是一种水管，和DataAdapter不同的是，DataReader不把水输送到水库里面，而是单向地直接把水送到需要水的用户那里或田地里，所以要比在水库中转一下更快更高效。</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="a0" style="margin: 0cm 0cm 3pt 43.6pt; text-indent: 21pt; mso-list: l0 level2 lfo1"><span lang="EN-US" style="font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings"><span style="mso-list: Ignore">l<span style="font: 7pt 'Times New Roman'">&nbsp; </span></span></span><span lang="EN-US"><font face="Times New Roman">DataSet</font></span><span style="font-family: 楷体_GB2312; mso-ascii-font-family: 'Times New Roman'">则是一个大水库，把抽上来的水按一定关系的池子进行存放。即使撤掉&#8220;抽水装置&#8221;（断开连接，离线状态），也可以保持&#8220;水&#8221;的存在。这也正是</span><span lang="EN-US"><font face="Times New Roman">ADO.NET</font></span><span style="font-family: 楷体_GB2312; mso-ascii-font-family: 'Times New Roman'">的核心。</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="a0" style="margin: 0cm 0cm 3pt 43.6pt; text-indent: 21pt; mso-list: l0 level2 lfo1"><span lang="EN-US" style="font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings"><span style="mso-list: Ignore">l<span style="font: 7pt 'Times New Roman'">&nbsp; </span></span></span><span lang="EN-US"><font face="Times New Roman">DataTable</font></span><span style="font-family: 楷体_GB2312; mso-ascii-font-family: 'Times New Roman'">则像</span><span style="color: black; font-family: 楷体_GB2312; mso-font-kerning: 0pt; mso-ascii-font-family: 'Times New Roman'">水库中的每个独立的水池子，分别存放不同种类的水。一个大水库由一个或多个这样的水池子组成。</span><span lang="EN-US"><o:p></o:p></span></p></td></tr></table></span></p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 选自<a href="http://book.maticsoft.com/" target="_blank"><font color="#336699">《亮剑.NET. .NET深入体验与实战精要》</font></a> 5.1.2 节。</p>
<p class="MsoNormal" style="margin-bottom: 3.9pt; text-indent: 21pt"><a href="http://book.maticsoft.com/" target="_blank"></a></p>
<p>&nbsp;</p>    <img src="http://www.cnblogs.com/ltp/aggbug/1505290.html?type=1" width="1" height="1" alt=""/><p>评论: 22　<a href="http://www.cnblogs.com/ltp/archive/2009/06/17/1505290.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/ltp/archive/2009/06/17/1505290.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56793/" target="_blank">知名扩展 Firebug 的简化版登陆 Chrome</a><span style="color:gray">(2010-02-09 22:59)</span><br/>· <a href="http://news.cnblogs.com/n/56792/" target="_blank">Google 悄悄地启用 1e100.net，打枪地不要</a><span style="color:gray">(2010-02-09 22:57)</span><br/>· <a href="http://news.cnblogs.com/n/56791/" target="_blank">从 Google 代码库找到的好东西</a><span style="color:gray">(2010-02-09 22:46)</span><br/>· <a href="http://news.cnblogs.com/n/56789/" target="_blank">苹果在线商店临时关闭 或将推新Macbook</a><span style="color:gray">(2010-02-09 22:39)</span><br/>· <a href="http://news.cnblogs.com/n/56788/" target="_blank">豆瓣网推出豆瓣电台iPhone客户端</a><span style="color:gray">(2010-02-09 21:51)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56782/" target="_blank">2010年2月编程语言排行榜</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item></channel></rss>