﻿<?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>博客园-ASP.NET2.0</title><link>http://www.cnblogs.com/ASPNET2008/</link><description>网站开发</description><language>zh-cn</language><lastBuildDate>Mon, 13 Oct 2008 06:54:28 GMT</lastBuildDate><pubDate>Mon, 13 Oct 2008 06:54:28 GMT</pubDate><ttl>60</ttl><item><title>SQL开发中容易忽视的一些小地方(二)</title><link>http://www.cnblogs.com/ASPNET2008/archive/2008/10/13/1309634.html</link><dc:creator>姜敏</dc:creator><author>姜敏</author><pubDate>Sun, 12 Oct 2008 17:09:00 GMT</pubDate><guid>http://www.cnblogs.com/ASPNET2008/archive/2008/10/13/1309634.html</guid><wfw:comment>http://www.cnblogs.com/ASPNET2008/comments/1309634.html</wfw:comment><comments>http://www.cnblogs.com/ASPNET2008/archive/2008/10/13/1309634.html#Feedback</comments><slash:comments>16</slash:comments><wfw:commentRss>http://www.cnblogs.com/ASPNET2008/comments/commentRss/1309634.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/ASPNET2008/services/trackbacks/1309634.html</trackback:ping><description><![CDATA[摘要: 网络观点一:一般要使得数据库查询语句性能好点遵循一下原则:在做表与表的连接查询时，大表在前，小表在后.网络观点二:SELECT   A.X,B.Y   FROM   A   B   WHERE   A.X=B.X  SELECT   A.X,B.Y   FROM   A   INNER   JOIN   B   ON   A.X=B.X  2句结果一样，但是速度相差很多，时间复杂度分别是   O(2n)和O(n*n)  我将针对上面两观点谈谈我对表联接的看法.&nbsp;&nbsp;<a href='http://www.cnblogs.com/ASPNET2008/archive/2008/10/13/1309634.html'>阅读全文</a><img src ="http://www.cnblogs.com/ASPNET2008/aggbug/1309634.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42960/" target="_blank">[新闻]Facebook创始人:信息共享或存摩尔定律</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>SQL开发中容易忽视的一些小地方(一)</title><link>http://www.cnblogs.com/ASPNET2008/archive/2008/10/12/1308633.html</link><dc:creator>姜敏</dc:creator><author>姜敏</author><pubDate>Sun, 12 Oct 2008 09:39:00 GMT</pubDate><guid>http://www.cnblogs.com/ASPNET2008/archive/2008/10/12/1308633.html</guid><wfw:comment>http://www.cnblogs.com/ASPNET2008/comments/1308633.html</wfw:comment><comments>http://www.cnblogs.com/ASPNET2008/archive/2008/10/12/1308633.html#Feedback</comments><slash:comments>8</slash:comments><wfw:commentRss>http://www.cnblogs.com/ASPNET2008/comments/commentRss/1308633.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/ASPNET2008/services/trackbacks/1308633.html</trackback:ping><description><![CDATA[摘要: SQL开发应用时,我们往往只观注些常用的方法(insert delete select update),对些小细节方面(系统存储过程,函数的应用,优化分析)研究的并不多或者是知其一不知其二,所以本人想把在学习工作当中遇到的问题总结些,希望还没有重视这些方面的朋友会有帮助,少走些弯路.本文首先根据自己的经验整理了一下SQL中的null的用法及要注意的方面. &nbsp;&nbsp;<a href='http://www.cnblogs.com/ASPNET2008/archive/2008/10/12/1308633.html'>阅读全文</a><img src ="http://www.cnblogs.com/ASPNET2008/aggbug/1308633.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42959/" target="_blank">[新闻]微软承认Vista用户账户控制功能有问题</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>在asp.net中如何管理cache</title><link>http://www.cnblogs.com/ASPNET2008/archive/2008/10/09/1307370.html</link><dc:creator>姜敏</dc:creator><author>姜敏</author><pubDate>Thu, 09 Oct 2008 08:39:00 GMT</pubDate><guid>http://www.cnblogs.com/ASPNET2008/archive/2008/10/09/1307370.html</guid><wfw:comment>http://www.cnblogs.com/ASPNET2008/comments/1307370.html</wfw:comment><comments>http://www.cnblogs.com/ASPNET2008/archive/2008/10/09/1307370.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/ASPNET2008/comments/commentRss/1307370.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/ASPNET2008/services/trackbacks/1307370.html</trackback:ping><description><![CDATA[摘要: 这篇文章将描述在asp.net中如何管理cache以及cache各个参数的用法.&nbsp;&nbsp;<a href='http://www.cnblogs.com/ASPNET2008/archive/2008/10/09/1307370.html'>阅读全文</a><img src ="http://www.cnblogs.com/ASPNET2008/aggbug/1307370.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42958/" target="_blank">[新闻]资本寒冬侵袭中国视频网站 营销春天或不远</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>GridView的分页是否真的是鸡肋呢?</title><link>http://www.cnblogs.com/ASPNET2008/archive/2008/10/08/1306699.html</link><dc:creator>姜敏</dc:creator><author>姜敏</author><pubDate>Wed, 08 Oct 2008 15:21:00 GMT</pubDate><guid>http://www.cnblogs.com/ASPNET2008/archive/2008/10/08/1306699.html</guid><wfw:comment>http://www.cnblogs.com/ASPNET2008/comments/1306699.html</wfw:comment><comments>http://www.cnblogs.com/ASPNET2008/archive/2008/10/08/1306699.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/ASPNET2008/comments/commentRss/1306699.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/ASPNET2008/services/trackbacks/1306699.html</trackback:ping><description><![CDATA[摘要: 总结:凡是一个产品的存在总会有它存在的道理,所有我们应该实际情况实际分析,不能千篇一律,只要用心总能找出适用自己的方法.是否是鸡肋,不在事物本身,而在于看待事物的人,不同的眼光会看出不同的风采.&nbsp;&nbsp;<a href='http://www.cnblogs.com/ASPNET2008/archive/2008/10/08/1306699.html'>阅读全文</a><img src ="http://www.cnblogs.com/ASPNET2008/aggbug/1306699.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42957/" target="_blank">[新闻]金融风暴波及全球创业板 中国概念股难独善其身</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>SQL2005性能分析一些细节功能你是否有用到?(三)</title><link>http://www.cnblogs.com/ASPNET2008/archive/2008/09/27/1300472.html</link><dc:creator>姜敏</dc:creator><author>姜敏</author><pubDate>Sat, 27 Sep 2008 05:37:00 GMT</pubDate><guid>http://www.cnblogs.com/ASPNET2008/archive/2008/09/27/1300472.html</guid><wfw:comment>http://www.cnblogs.com/ASPNET2008/comments/1300472.html</wfw:comment><comments>http://www.cnblogs.com/ASPNET2008/archive/2008/09/27/1300472.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/ASPNET2008/comments/commentRss/1300472.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/ASPNET2008/services/trackbacks/1300472.html</trackback:ping><description><![CDATA[摘要: 以前我一直有一个误区,就是认为只要是分页时按需所取(查询第几页就取第只取几页的数据),效率就会特别高,后来用上了IO分析,才知道并不像我想像中的那样完美(取任何一页速度都是一样快).&nbsp;&nbsp;<a href='http://www.cnblogs.com/ASPNET2008/archive/2008/09/27/1300472.html'>阅读全文</a><img src ="http://www.cnblogs.com/ASPNET2008/aggbug/1300472.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42956/" target="_blank">[新闻]携程范敏：CEO从接发传真做起</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>SQL2005性能分析一些细节功能你是否有用到?(二)</title><link>http://www.cnblogs.com/ASPNET2008/archive/2008/09/26/1298995.html</link><dc:creator>姜敏</dc:creator><author>姜敏</author><pubDate>Fri, 26 Sep 2008 01:18:00 GMT</pubDate><guid>http://www.cnblogs.com/ASPNET2008/archive/2008/09/26/1298995.html</guid><wfw:comment>http://www.cnblogs.com/ASPNET2008/comments/1298995.html</wfw:comment><comments>http://www.cnblogs.com/ASPNET2008/archive/2008/09/26/1298995.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnblogs.com/ASPNET2008/comments/commentRss/1298995.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/ASPNET2008/services/trackbacks/1298995.html</trackback:ping><description><![CDATA[摘要: 总结:可能有的朋友会认为本人只是在这一味的copy MSDN,其实从本质上说是这样,但copy并不代表一无是处,经过我的工作经验来看,我们开发中遇到的很多问题其实在MSDN上都有说明,但为什么我们总是在MSDN上找不到答案呢?这就是因为我们不懂搜索相关的关键字,为此我将我的一些学习所得写出来,希望和我一样不太会用MSDN的朋友共进步.&nbsp;&nbsp;<a href='http://www.cnblogs.com/ASPNET2008/archive/2008/09/26/1298995.html'>阅读全文</a><img src ="http://www.cnblogs.com/ASPNET2008/aggbug/1298995.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42955/" target="_blank">[新闻]2008年10月13日科技博客精选</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>SQL2005性能分析一些细节功能你是否有用到?</title><link>http://www.cnblogs.com/ASPNET2008/archive/2008/09/25/1298536.html</link><dc:creator>姜敏</dc:creator><author>姜敏</author><pubDate>Thu, 25 Sep 2008 02:13:00 GMT</pubDate><guid>http://www.cnblogs.com/ASPNET2008/archive/2008/09/25/1298536.html</guid><wfw:comment>http://www.cnblogs.com/ASPNET2008/comments/1298536.html</wfw:comment><comments>http://www.cnblogs.com/ASPNET2008/archive/2008/09/25/1298536.html#Feedback</comments><slash:comments>11</slash:comments><wfw:commentRss>http://www.cnblogs.com/ASPNET2008/comments/commentRss/1298536.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/ASPNET2008/services/trackbacks/1298536.html</trackback:ping><description><![CDATA[摘要: 本文主旨:本文并非大谈高深技术(也没这本事),只是想总结一些数据库性能分析最基本的方法,有时候往往就是这些看似平常的功能能解决大问题.起码我工作三年差点,很少关心这些性能分析方法,我想目前也有很多朋友和我以前一样.&nbsp;&nbsp;<a href='http://www.cnblogs.com/ASPNET2008/archive/2008/09/25/1298536.html'>阅读全文</a><img src ="http://www.cnblogs.com/ASPNET2008/aggbug/1298536.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42954/" target="_blank">[新闻]Google Android手机大受欢迎,已经订出150万台</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>你是如何面对大量分页需求的?</title><link>http://www.cnblogs.com/ASPNET2008/archive/2008/09/22/1295609.html</link><dc:creator>姜敏</dc:creator><author>姜敏</author><pubDate>Sun, 21 Sep 2008 16:53:00 GMT</pubDate><guid>http://www.cnblogs.com/ASPNET2008/archive/2008/09/22/1295609.html</guid><wfw:comment>http://www.cnblogs.com/ASPNET2008/comments/1295609.html</wfw:comment><comments>http://www.cnblogs.com/ASPNET2008/archive/2008/09/22/1295609.html#Feedback</comments><slash:comments>19</slash:comments><wfw:commentRss>http://www.cnblogs.com/ASPNET2008/comments/commentRss/1295609.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/ASPNET2008/services/trackbacks/1295609.html</trackback:ping><description><![CDATA[摘要: 你是如何面对大量分页需求的?是否有提高效率的方法呢?&nbsp;&nbsp;<a href='http://www.cnblogs.com/ASPNET2008/archive/2008/09/22/1295609.html'>阅读全文</a><img src ="http://www.cnblogs.com/ASPNET2008/aggbug/1295609.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42953/" target="_blank">[新闻]13个大文件邮件传送服务</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>老生常谈：代理模式</title><link>http://www.cnblogs.com/ASPNET2008/archive/2008/09/17/1292112.html</link><dc:creator>姜敏</dc:creator><author>姜敏</author><pubDate>Tue, 16 Sep 2008 16:24:00 GMT</pubDate><guid>http://www.cnblogs.com/ASPNET2008/archive/2008/09/17/1292112.html</guid><wfw:comment>http://www.cnblogs.com/ASPNET2008/comments/1292112.html</wfw:comment><comments>http://www.cnblogs.com/ASPNET2008/archive/2008/09/17/1292112.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/ASPNET2008/comments/commentRss/1292112.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/ASPNET2008/services/trackbacks/1292112.html</trackback:ping><description><![CDATA[摘要: 在工厂和销售商之间也是这种类似的代理关系，工厂所生产的产品要想销售出去，首先必须要有客户，但是工厂是不希望这样的直接客户直接到工厂来买产品，原因可想而之，我这里列了几项：      
第一：工厂并没有那么多时间去接待数量众多的客户。
第二：工厂并不一定具有一个非常出色销售团队。
这样工厂就非常希望找到一个代理，来帮工厂完成销售任务。工厂把产品交给代理，代理负责打广告，销售，售后服务等等。
&nbsp;&nbsp;<a href='http://www.cnblogs.com/ASPNET2008/archive/2008/09/17/1292112.html'>阅读全文</a><img src ="http://www.cnblogs.com/ASPNET2008/aggbug/1292112.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42952/" target="_blank">[新闻]微型博客Twitter取消IM服务 称其ROI差</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>你会在C#的类库中添加web service引用吗?</title><link>http://www.cnblogs.com/ASPNET2008/archive/2008/09/16/1292028.html</link><dc:creator>姜敏</dc:creator><author>姜敏</author><pubDate>Tue, 16 Sep 2008 13:05:00 GMT</pubDate><guid>http://www.cnblogs.com/ASPNET2008/archive/2008/09/16/1292028.html</guid><wfw:comment>http://www.cnblogs.com/ASPNET2008/comments/1292028.html</wfw:comment><comments>http://www.cnblogs.com/ASPNET2008/archive/2008/09/16/1292028.html#Feedback</comments><slash:comments>17</slash:comments><wfw:commentRss>http://www.cnblogs.com/ASPNET2008/comments/commentRss/1292028.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/ASPNET2008/services/trackbacks/1292028.html</trackback:ping><description><![CDATA[摘要: 本文并不是什么高深的文章,只是VS2008应用中的一小部分,但小部分你不一定会,要不你试试.VS为什么要把添加web引用放的这么隐蔽呢，难道是为了WCF的推广？
&nbsp;&nbsp;<a href='http://www.cnblogs.com/ASPNET2008/archive/2008/09/16/1292028.html'>阅读全文</a><img src ="http://www.cnblogs.com/ASPNET2008/aggbug/1292028.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42951/" target="_blank">[新闻]用手机聊Gtalk的方法以及应用总结</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>从追MM谈Java的23种设计模式 </title><link>http://www.cnblogs.com/ASPNET2008/archive/2008/09/02/1281861.html</link><dc:creator>姜敏</dc:creator><author>姜敏</author><pubDate>Tue, 02 Sep 2008 02:44:00 GMT</pubDate><guid>http://www.cnblogs.com/ASPNET2008/archive/2008/09/02/1281861.html</guid><wfw:comment>http://www.cnblogs.com/ASPNET2008/comments/1281861.html</wfw:comment><comments>http://www.cnblogs.com/ASPNET2008/archive/2008/09/02/1281861.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/ASPNET2008/comments/commentRss/1281861.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/ASPNET2008/services/trackbacks/1281861.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 从追MM谈Java的23种设计模式 来自<a title="http://blog.csdn.net/leshui/archive/2003/11/20/11951.aspx" href="http://blog.csdn.net/leshui/archive/2003/11/20/11951.aspx">http://blog.csdn.net/leshui/archive/2003/11/20/11951.aspx</a></p>
<p>&nbsp;</p>
<p>  </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 设计模式做为程序员的&#8220;内功心法&#8221;，越来越受到.net 社区的重视，这种变化是很可喜的，Java社区走在了我们的前面，但这种状况也许有一天会发生改变。  </p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 从追MM谈Java的23种设计模式</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp; &nbsp;  <strong>1、FACTORY</strong>—追MM少不了请吃饭了，麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西，虽然口味有所不同，但不管你带MM去麦当劳或肯德基，只管向服务员说&#8220;来四个鸡翅&#8221;就行了。麦当劳和肯德基就是生产鸡翅的Factory.  <br />
<br />
</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;
工厂模式：客户类和工厂类分开。消费者任何时候需要某种产品，只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时，工厂类也要做相应的修改。如：如何创建及如何向客户端提供。</p>
<p>&nbsp;</p>
<p>
</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 程序代码:</p>
<p>&nbsp;</p>
<p>
</p>
<div class="cnblogs_code"><img id="Code_Closed_Image_104448" onclick="this.style.display='none'; document.getElementById('Code_Closed_Text_104448').style.display='none'; document.getElementById('Code_Open_Image_104448').style.display='inline'; document.getElementById('Code_Open_Text_104448').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top" height="16" width="11"><img id="Code_Open_Image_104448" style="display: none;" onclick="this.style.display='none'; document.getElementById('Code_Open_Text_104448').style.display='none'; getElementById('Code_Closed_Image_104448').style.display='inline'; getElementById('Code_Closed_Text_104448').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top" height="16" width="11"><span id="Code_Closed_Text_104448" class="cnblogs_code_Collapse">Code</span><span id="Code_Open_Text_104448" style="display: none;"><br />
<!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><img id="Codehighlighter1_20_222_Open_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_20_222_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_20_222_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_20_222_Closed_Text').style.display='inline';" align="top"><img id="Codehighlighter1_20_222_Closed_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" style="display: none;" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_20_222_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_20_222_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_20_222_Open_Text').style.display='inline';" align="top"><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;Factory</span><span id="Codehighlighter1_20_222_Closed_Text" style="border: 1px solid #808080; background-color: #ffffff; display: none;"><img src="http://www.cnblogs.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_20_222_Open_Text"><span style="color: #000000;">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" /></span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;String&nbsp;Boy&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800000;">"</span><span style="color: #800000;">boy</span><span style="color: #800000;">"</span><span style="color: #000000;">&nbsp;;<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" /></span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;String&nbsp;Girl&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800000;">"</span><span style="color: #800000;">girl</span><span style="color: #800000;">"</span><span style="color: #000000;">&nbsp;;<br />
<img id="Codehighlighter1_118_220_Open_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_118_220_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_118_220_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_118_220_Closed_Text').style.display='inline';" align="top"><img id="Codehighlighter1_118_220_Closed_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" style="display: none;" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_118_220_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_118_220_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_118_220_Open_Text').style.display='inline';" align="top"></span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;People&nbsp;getPeople(String&nbsp;people)</span><span id="Codehighlighter1_118_220_Closed_Text" style="border: 1px solid #808080; background-color: #ffffff; display: none;"><img src="http://www.cnblogs.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_118_220_Open_Text"><span style="color: #000000;">{<br />
<img id="Codehighlighter1_145_166_Open_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_145_166_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_145_166_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_145_166_Closed_Text').style.display='inline';" align="top"><img id="Codehighlighter1_145_166_Closed_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" style="display: none;" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_145_166_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_145_166_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_145_166_Open_Text').style.display='inline';" align="top"></span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(people.equals(</span><span style="color: #800000;">"</span><span style="color: #800000;">boy</span><span style="color: #800000;">"</span><span style="color: #000000;">))</span><span id="Codehighlighter1_145_166_Closed_Text" style="border: 1px solid #808080; background-color: #ffffff; display: none;"><img src="http://www.cnblogs.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_145_166_Open_Text"><span style="color: #000000;">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" /></span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Boy();<br />
<img id="Codehighlighter1_196_218_Open_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_196_218_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_196_218_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_196_218_Closed_Text').style.display='inline';" align="top"><img id="Codehighlighter1_196_218_Closed_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" style="display: none;" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_196_218_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_196_218_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_196_218_Open_Text').style.display='inline';" align="top">}</span></span><span style="color: #0000ff;">else</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(people.equals(</span><span style="color: #800000;">"</span><span style="color: #800000;">girl</span><span style="color: #800000;">"</span><span style="color: #000000;">))</span><span id="Codehighlighter1_196_218_Closed_Text" style="border: 1px solid #808080; background-color: #ffffff; display: none;"><img src="http://www.cnblogs.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_196_218_Open_Text"><span style="color: #000000;">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" /></span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Girl();<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" align="top" />}</span></span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" align="top" />}</span></span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" alt="" align="top" />}</span></span></span></div>
<p><br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;
<strong>2、BUILDER</strong>—MM最爱听的就是&#8220;我爱你&#8221;这句话了，见到不同地方的MM,要能够用她们的方言跟她说这句话哦，我有一个多种语言翻译机，上面每种语言都有一个按键，见到MM我只要按对应的键，它就能够用相应的语言说出&#8220;我爱你&#8221;这句话了，国外的MM也可以轻松搞掂，这就是我的&#8220;我爱你&#8221;builder。（这一定比美军在伊拉克用的翻译机好卖）  <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
建造模式：将产品的内部表象和产品的生成过程分割开来，从而使一个建造过程生成具有不同的内部表象的产品对象。建造模式使得产品内部表象可以独立的变化，客户不必知道产品内部组成的细节。建造模式可以强制实行一种分步骤进行的建造过程。  <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<strong>3、FACTORY  METHOD</strong>—请MM去麦当劳吃汉堡，不同的MM有不同的口味，要每个都记住是一件烦人的事情，我一般采用Factory  Method模式，带着MM到服务员那儿，说&#8220;要一个汉堡&#8221;，具体要什么样的汉堡呢，让MM直接跟服务员说就行了。  <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
工厂方法模式：核心工厂类不再负责所有产品的创建，而是将具体创建的工作交给子类去做，成为一个抽象工厂角色，仅负责给出具体工厂类必须实现的接口，而不接触哪一个产品类应当被实例化这种细节。  <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<strong>4、PROTOTYPE</strong>—跟MM用QQ聊天，一定要说些深情的话语了，我搜集了好多肉麻的情话，需要时只要copy出来放到QQ里面就行了，这就是我的情话prototype了。（100块钱一份，你要不要）  <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
原始模型模式：通过给出一个原型对象来指明所要创建的对象的类型，然后用复制这个原型对象的方法创建出更多同类型的对象。原始模型模式允许动态的增加或减少产品类，产品类不需要非得有任何事先确定的等级结构，原始模型模式适用于任何的等级结构。缺点是每一个类都必须配备一个克隆方法。  <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<strong>5、SINGLETON</strong>—俺有6个漂亮的老婆，她们的老公都是我，我就是我们家里的老公Sigleton，她们只要说道&#8220;老公&#8221;，都是指的同一个人，那就是我(刚才做了个梦啦，哪有这么好的事)  <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
单例模式：单例模式确保某一个类只有一个实例，而且自行实例化并向整个系统提供这个实例单例模式。单例模式只应在有真正的&#8220;单一实例&#8221;的需求时才可使用。  <br />
<br />
</p>
<div class="cnblogs_code"><img id="Code_Closed_Image_104544" onclick="this.style.display='none'; document.getElementById('Code_Closed_Text_104544').style.display='none'; document.getElementById('Code_Open_Image_104544').style.display='inline'; document.getElementById('Code_Open_Text_104544').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top" height="16" width="11"><img id="Code_Open_Image_104544" style="display: none;" onclick="this.style.display='none'; document.getElementById('Code_Open_Text_104544').style.display='none'; getElementById('Code_Closed_Image_104544').style.display='inline'; getElementById('Code_Closed_Text_104544').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top" height="16" width="11"><span id="Code_Closed_Text_104544" class="cnblogs_code_Collapse">Code</span><span id="Code_Open_Text_104544" style="display: none;"><br />
<!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><img id="Codehighlighter1_22_136_Open_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_22_136_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_22_136_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_22_136_Closed_Text').style.display='inline';" align="top"><img id="Codehighlighter1_22_136_Closed_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" style="display: none;" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_22_136_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_22_136_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_22_136_Open_Text').style.display='inline';" align="top"><span style="color: #0000ff;">public</span><span style="color: #000000;">　</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;SingLeton</span><span id="Codehighlighter1_22_136_Closed_Text" style="border: 1px solid #808080; background-color: #ffffff; display: none;"><img src="http://www.cnblogs.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_22_136_Open_Text"><span style="color: #000000;">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" /></span><span style="color: #0000ff;">private</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">static</span><span style="color: #000000;">&nbsp;SingLeton&nbsp;instance&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;SingLeton();<br />
<img id="Codehighlighter1_114_134_Open_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_114_134_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_114_134_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_114_134_Closed_Text').style.display='inline';" align="top"><img id="Codehighlighter1_114_134_Closed_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" style="display: none;" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_114_134_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_114_134_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_114_134_Open_Text').style.display='inline';" align="top"></span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">static</span><span style="color: #000000;">&nbsp;SingLeton&nbsp;getInstance()</span><span id="Codehighlighter1_114_134_Closed_Text" style="border: 1px solid #808080; background-color: #ffffff; display: none;"><img src="http://www.cnblogs.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_114_134_Open_Text"><span style="color: #000000;">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" /></span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;instance;<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" align="top" />}</span></span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" alt="" align="top" />}</span></span></span></div>
<p>　<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<strong>6、ADAPTER</strong>—在朋友聚会上碰到了一个美女Sarah，从香港来的，可我不会说粤语，她不会说普通话，只好求助于我的朋友kent了，他作为我和Sarah之间的Adapter，让我和Sarah可以相互交谈了(也不知道他会不会耍我)  <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
适配器（变压器）模式：把一个类的接口变换成客户端所期待的另一种接口，从而使原本因接口原因不匹配而无法一起工作的两个类能够一起工作。适配类可以根据参数返还一个合适的实例给客户端。  <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<strong>7、BRIDGE</strong>—早上碰到MM，要说早上好，晚上碰到MM，要说晚上好；碰到MM穿了件新衣服，要说你的衣服好漂亮哦，碰到MM新做的发型，要说你的头发好漂亮哦。不要问我&#8220;早上碰到MM新做了个发型怎么说&#8221;这种问题，自己用BRIDGE组合一下不就行了  <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
桥梁模式：将抽象化与实现化脱耦，使得二者可以独立的变化，也就是说将他们之间的强关联变成弱关联，也就是指在一个软件系统的抽象化和实现化之间使用组合/聚合关系而不是继承关系，从而使两者可以独立的变化。  <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<strong>8、COMPOSITE</strong>—Mary今天过生日。&#8220;我过生日，你要送我一件礼物。&#8221;&#8220;嗯，好吧，去商店，你自己挑。&#8221;&#8220;这件T恤挺漂亮，买，这条裙子好看，买，这个包也不错，买。&#8221;&#8220;喂，买了三件了呀，我只答应送一件礼物的哦。&#8221;&#8220;什么呀，T恤加裙子加包包，正好配成一套呀，小姐，麻烦你包起来。&#8221;&#8220;&#8230;&#8230;&#8221;，MM都会用Composite模式了，你会了没有？  <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
合成模式：合成模式将对象组织到树结构中，可以用来描述整体与部分的关系。合成模式就是一个处理对象的树结构的模式。合成模式把部分与整体的关系用树结构表示出来。合成模式使得客户端把一个个单独的成分对象和由他们复合而成的合成对象同等看待。  <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>9、DECORATOR</strong>—Mary过完轮到Sarly过生日，还是不要叫她自己挑了，不然这个月伙食费肯定玩完，拿出我去年在华山顶上照的照片，在背面写上&#8220;最好的的礼物，就是爱你的Fita&#8221;，再到街上礼品店买了个像框（卖礼品的MM也很漂亮哦），再找隔壁搞美术设计的Mike设计了一个漂亮的盒子装起来&#8230;&#8230;，我们都是Decorator，最终都在修饰我这个人呀，怎么样，看懂了吗？  <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 装饰模式：装饰模式以对客户端透明的方式扩展对象的功能，是继承关系的一个替代方案，提供比继承更多的灵活性。动态给一个对象增加功能，这些功能可以再动态的撤消。增加由一些基本功能的排列组合而产生的非常大量的功能。  <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<strong>10、FA&#199;ADE</strong>—我有一个专业的Nikon相机，我就喜欢自己手动调光圈、快门，这样照出来的照片才专业，但MM可不懂这些，教了半天也不会。幸好相机有Fa&#231;ade设计模式，把相机调整到自动档，只要对准目标按快门就行了，一切由相机自动调整，这样MM也可以用这个相机给我拍张照片了。  <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
门面模式：外部与一个子系统的通信必须通过一个统一的门面对象进行。门面模式提供一个高层次的接口，使得子系统更易于使用。每一个子系统只有一个门面类，而且此门面类只有一个实例，也就是说它是一个单例模式。但整个系统可以有多个门面类。  <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;
<strong>11、FLYWEIGHT</strong>—每天跟MM发短信，手指都累死了，最近买了个新手机，可以把一些常用的句子存在手机里，要用的时候，直接拿出来，在前面加上MM的名字就可以发送了，再不用一个字一个字敲了。共享的句子就是Flyweight，MM的名字就是提取出来的外部特征，根据上下文情况使用。  <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;
享元模式：FLYWEIGHT在拳击比赛中指最轻量级。享元模式以共享的方式高效的支持大量的细粒度对象。享元模式能做到共享的关键是区分内蕴状态和外蕴状态。内蕴状态存储在享元内部，不会随环境的改变而有所不同。外蕴状态是随环境的改变而改变的。外蕴状态不能影响内蕴状态，它们是相互独立的。将可以共享的状态和不可以共享的状态从常规类中区分开来，将不可以共享的状态从类里剔除出去。客户端不可以直接创建被共享的对象，而应当使用一个工厂对象负责创建被共享的对象。享元模式大幅度的降低内存中对象的数量。  <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<strong>12、PROXY</strong>—跟MM在网上聊天，一开头总是&#8220;hi,你好&#8221;,&#8220;你从哪儿来呀？&#8221;&#8220;你多大了？&#8221;&#8220;身高多少呀？&#8221;这些话，真烦人，写个程序做为我的Proxy吧，凡是接收到这些话都设置好了自动的回答，接收到其他的话时再通知我回答，怎么样，酷吧。  <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;
代理模式：代理模式给某一个对象提供一个代理对象，并由代理对象控制对源对象的引用。代理就是一个人或一个机构代表另一个人或者一个机构采取行动。某些情况下，客户不想或者不能够直接引用一个对象，代理对象可以在客户和目标对象直接起到中介的作用。客户端分辨不出代理主题对象与真实主题对象。代理模式可以并不知道真正的被代理对象，而仅仅持有一个被代理对象的接口，这时候代理对象不能够创建被代理对象，被代理对象必须有系统的其他角色代为创建并传入。  <br />
<br />
</p>
<div class="cnblogs_code"><img id="Code_Closed_Image_104704" onclick="this.style.display='none'; document.getElementById('Code_Closed_Text_104704').style.display='none'; document.getElementById('Code_Open_Image_104704').style.display='inline'; document.getElementById('Code_Open_Text_104704').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top" height="16" width="11"><img id="Code_Open_Image_104704" style="display: none;" onclick="this.style.display='none'; document.getElementById('Code_Open_Text_104704').style.display='none'; getElementById('Code_Closed_Image_104704').style.display='inline'; getElementById('Code_Closed_Text_104704').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top" height="16" width="11"><span id="Code_Closed_Text_104704" class="cnblogs_code_Collapse">Code</span><span id="Code_Open_Text_104704" style="display: none;"><br />
<!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><img id="Codehighlighter1_29_86_Open_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_29_86_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_29_86_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_29_86_Closed_Text').style.display='inline';" align="top"><img id="Codehighlighter1_29_86_Closed_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" style="display: none;" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_29_86_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_29_86_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_29_86_Open_Text').style.display='inline';" align="top"><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">interface</span><span style="color: #000000;">&nbsp;FactoryProxy</span><span id="Codehighlighter1_29_86_Closed_Text" style="border: 1px solid #808080; background-color: #ffffff; display: none;"><img src="http://www.cnblogs.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_29_86_Open_Text"><span style="color: #000000;">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" /></span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;People&nbsp;createBoy();<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" align="top" /></span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;People&nbsp;creteGirl();<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" alt="" align="top" />}</span></span></span></div>
<p><br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;
<strong>13、CHAIN  OF  RESPONSIBLEITY</strong>—晚上去上英语课，为了好开溜坐到了最后一排，哇，前面坐了好几个漂亮的MM哎，找张纸条，写上&#8220;Hi,可以做我的女朋友吗？如果不愿意请向前传&#8221;，纸条就一个接一个的传上去了，糟糕，传到第一排的MM把纸条传给老师了，听说是个老处女呀，快跑!  <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;
责任链模式：在责任链模式中，很多对象由每一个对象对其下家的引用而接  <br />
<br />
起来形成一条链。请求在这个链上传递，直到链上的某一个对象决定处理此请求。客户并不知道链上的哪一个对象最终处理这个请求，系统可以在不影响客户端的情况下动态的重新组织链和分配责任。处理者有两个选择：承担责任或者把责任推给下家。一个请求可以最终不被任何接收端对象所接受。  <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;
<strong>14、COMMAND</strong>—俺有一个MM家里管得特别严，没法见面，只好借助于她弟弟在我们俩之间传送信息，她对我有什么指示，就写一张纸条让她弟弟带给我。这不，她弟弟又传送过来一个COMMAND，为了感谢他，我请他吃了碗杂酱面，哪知道他说：&#8220;我同时给我姐姐三个男朋友送COMMAND，就数你最小气，才请我吃面。&#8221;，  <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
命令模式：命令模式把一个请求或者操作封装到一个对象中。命令模式把发出命令的责任和执行命令的责任分割开，委派给不同的对象。命令模式允许请求的一方和发送的一方独立开来，使得请求的一方不必知道接收请求的一方的接口，更不必知道请求是怎么被接收，以及操作是否执行，何时被执行以及是怎么被执行的。系统支持命令的撤消。  <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;<strong>
15、INTERPRETER</strong>—俺有一个《泡MM真经》，上面有各种泡MM的攻略，比如说去吃西餐的步骤、去看电影的方法等等，跟MM约会时，只要做一个Interpreter，照着上面的脚本执行就可以了。  <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;
解释器模式：给定一个语言后，解释器模式可以定义出其文法的一种表示，并同时提供一个解释器。客户端可以使用这个解释器来解释这个语言中的句子。解释器模式将描述怎样在有了一个简单的文法后，使用模式设计解释这些语句。在解释器模式里面提到的语言是指任何解释器对象能够解释的任何组合。在解释器模式中需要定义一个代表文法的命令类的等级结构，也就是一系列的组合规则。每一个命令对象都有一个解释方法，代表对命令对象的解释。命令对象的等级结构中的对象的任何排列组合都是一个语言。  <br />
<br />
</p>
<p>
&nbsp;&nbsp;&nbsp;&nbsp;
<strong>16、ITERATOR</strong>—我爱上了Mary，不顾一切的向她求婚。</p>
<p>&nbsp;</p>
<p>  </p>
<p>
=====================================<br />
Mary：&#8220;想要我跟你结婚，得答应我的条件&#8221; <br />
<br />
我：&#8220;什么条件我都答应，你说吧&#8221;  <br />
<br />
Mary：&#8220;我看上了那个一克拉的钻石&#8221; <br />
<br />
我：&#8220;我买，我买，还有吗？&#8221;  <br />
<br />
Mary：&#8220;我看上了湖边的那栋别墅&#8221; <br />
<br />
我：&#8220;我买，我买，还有吗？&#8221;  <br />
<br />
Mary：&#8220;我看上那辆法拉利跑车&#8221; <br />
<br />
我脑袋嗡的一声，坐在椅子上，一咬牙：&#8220;我买，我买，还有吗？&#8221;  <br />
<br />
&#8230;&#8230;  <br />
</p>
<p>======================================</p>
<p>&nbsp;</p>
<p>
&nbsp;&nbsp;&nbsp;&nbsp;
迭代子模式：迭代子模式可以顺序访问一个聚集中的元素而不必暴露聚集的内部表象。多个对象聚在一起形成的总体称之为聚集，聚集对象是能够包容一组对象的容器对象。迭代子模式将迭代逻辑封装到一个独立的子对象中，从而与聚集本身隔开。迭代子模式简化了聚集的界面。每一个聚集对象都可以有一个或一个以上的迭代子对象，每一个迭代子的迭代状态可以是彼此独立的。迭代算法可以独立于聚集角色变化。  <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;
<strong>17、MEDIATOR</strong>—四个MM打麻将，相互之间谁应该给谁多少钱算不清楚了，幸亏当时我在旁边，按照各自的筹码数算钱，赚了钱的从我这里拿，赔了钱的也付给我，一切就OK啦，俺得到了四个MM的电话。  <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp; 调停者模式：调停者模式包装了一系列对象相互作用的方式，使得这些对象不必相互明显作用。从而使他们可以松散偶合。当某些对象之间的作用发生改变时，不会立即影响其他的一些对象之间的作用。保证这些作用可以彼此独立的变化。调停者模式将多对多的相互作用转化为一对多的相互作用。调停者模式将对象的行为和协作抽象化，把对象在小尺度的行为上与其他对象的相互作用分开处理。  <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;
<strong>18、MEMENTO</strong>—同时跟几个MM聊天时，一定要记清楚刚才跟MM说了些什么话，不然MM发现了会不高兴的哦，幸亏我有个备忘录，刚才与哪个MM说了什么话我都拷贝一份放到备忘录里面保存，这样可以随时察看以前的记录啦。  <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;
备忘录模式：备忘录对象是一个用来存储另外一个对象内部状态的快照的对象。备忘录模式的用意是在不破坏封装的条件下，将一个对象的状态捉住，并外部化，存储起来，从而可以在将来合适的时候把这个对象还原到存储起来的状态。  <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;
<strong>19、OBSERVER</strong>—想知道咱们公司最新MM情报吗？加入公司的MM情报邮件组就行了，tom负责搜Technorati  标记: <a href="http://technorati.com/tags/%e8%ae%be%e8%ae%a1%e6%a8%a1%e5%bc%8f" rel="tag">设计模式</a>, <a href="http://technorati.com/tags/%e6%90%9e%e7%ac%91" rel="tag">搞笑</a>集情报，他发现的新情报不用一个一个通知我们，直接发布给邮件组，我们作为订阅者（观察者）就可以及时收到情报啦  <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;
观察者模式：观察者模式定义了一种一队多的依赖关系，让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时，会通知所有观察者对象，使他们能够自动更新自己。  <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;
<strong>20、STATE</strong>—跟MM交往时，一定要注意她的状态哦，在不同的状态时她的行为会有不同，比如你约她今天晚上去看电影，对你没兴趣的MM就会说&#8220;有事情啦&#8221;，对你不讨厌但还没喜欢上的MM就会说&#8220;好啊，不过可以带上我同事么？&#8221;，已经喜欢上你的MM就会说&#8220;几点钟？看完电影再去泡吧怎么样？&#8221;，当然你看电影过程中表现良好的话，也可以把MM的状态从不讨厌不喜欢变成喜欢哦。  <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;
状态模式：状态模式允许一个对象在其内部状态改变的时候改变行为。这个对象看上去象是改变了它的类一样。状态模式把所研究的对象的行为包装在不同的状态对象里，每一个状态对象都属于一个抽象状态类的一个子类。状态模式的意图是让一个对象在其内部状态改变的时候，其行为也随之改变。状态模式需要对每一个系统可能取得的状态创立一个状态类的子类。当系统的状态变化时，系统便改变所选的子类。  <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;
<strong>21、STRATEGY</strong>—跟不同类型的MM约会，要用不同的策略，有的请电影比较好，有的则去吃小吃效果不错，有的去海边浪漫最合适，单目的都是为了得到MM的芳心，我的追MM锦囊中有好多Strategy哦。  <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;
策略模式：策略模式针对一组算法，将每一个算法封装到具有共同接口的独立的类中，从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。策略模式把行为和环境分开。环境类负责维持和查询行为类，各种算法在具体的策略类中提供。由于算法和环境独立开来，算法的增减，修改都不会影响到环境和客户端。  <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;<strong>
22、TEMPLATE  METHOD</strong>——看过《如何说服女生上床》这部经典文章吗？女生从认识到上床的不变的步骤分为巧遇、打破僵局、展开追求、接吻、前戏、动手、爱抚、进去八大步骤(Template  method)，但每个步骤针对不同的情况，都有不一样的做法，这就要看你随机应变啦(具体实现)；  <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;
模板方法模式：模板方法模式准备一个抽象类，将部分逻辑以具体方法以及具体构造子的形式实现，然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法，从而对剩余的逻辑有不同的实现。先制定一个顶级逻辑框架，而将逻辑的细节留给具体的子类去实现。  <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;<strong>
23、VISITOR</strong>—情人节到了，要给每个MM送一束鲜花和一张卡片，可是每个MM送的花都要针对她个人的特点，每张卡片也要根据个人的特点来挑，我一个人哪搞得清楚，还是找花店老板和礼品店老板做一下Visitor，让花店老板根据MM的特点选一束花，让礼品店老板也根据每个人特点选一张卡，这样就轻松多了；  <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;
访问者模式：访问者模式的目的是封装一些施加于某种数据结构元素之上的操作。一旦这些操作需要修改的话，接受这个操作的数据结构可以保持不变。访问者模式适用于数据结构相对未定的系统，它把数据结构和作用于结构上的操作之间的耦合解脱开，使得操作集合可以相对自由的演化。访问者模式使得增加新的操作变的很容易，就是增加一个新的访问者类。访问者模式将有关的行为集中到一个访问者对象中，而不是分散到一个个的节点类中。当使用访问者模式时，要将尽可能多的对象浏览逻辑放在访问者类中，而不是放到它的子类中。访问者模式可以跨过几个类的等级结构访问属于不同的等级结构的成员类。  </p><img src ="http://www.cnblogs.com/ASPNET2008/aggbug/1281861.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42950/" target="_blank">[新闻]Google开拓美政府机构市场 微软业务受冲击</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>分享几条短笑话 </title><link>http://www.cnblogs.com/ASPNET2008/archive/2008/09/02/1281751.html</link><dc:creator>姜敏</dc:creator><author>姜敏</author><pubDate>Tue, 02 Sep 2008 01:15:00 GMT</pubDate><guid>http://www.cnblogs.com/ASPNET2008/archive/2008/09/02/1281751.html</guid><wfw:comment>http://www.cnblogs.com/ASPNET2008/comments/1281751.html</wfw:comment><comments>http://www.cnblogs.com/ASPNET2008/archive/2008/09/02/1281751.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cnblogs.com/ASPNET2008/comments/commentRss/1281751.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/ASPNET2008/services/trackbacks/1281751.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp; 某君眼神不好，一日到商场买菜，先买了一只鸡，又走到一个卖宝剑的摊位前<br />
&#8216;请问，刀鱼多少钱一斤。&#8221;<br />
碰巧对方眼神也不咋地：&#8220;瞧你那眼神吧，还玩鹰那！！！&#8221; </p>
<p>&nbsp; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 2楼跳下来和20楼跳下来有什么区别 <br />
20楼跳下来  啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊！ 啪～～！<br />
2楼跳下来  啪～～！啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊！</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 一士兵在修理电线杆时重重地摔下来后解释:"有一只松鼠钻进了我的裤裆,我<br />
没担心,接着第二只松鼠钻进我的裤档,我也不担心,但当我听到其中一只松鼠<br />
说'咱们把这只果子分了吧',我才害怕得摔了下来."</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; 老师：&#8220;硅和水反应能生成什么？？&#8221;<br />
一同学：&#8220;王八汤！！&#8221; </p>
<p>&nbsp; </p>
<p>&nbsp;&nbsp;&nbsp; 瞎子骑自行车载聋子~<br />
聋子看见前面有条沟~就喊~沟!沟!沟!<br />
瞎子接道:啊勒啊勒啊勒~<br />
两人一起掉入沟中...  </p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; 有个朋友第一次勤工俭学在公园里卖冰棍，不好意思吆喝；这时候突然有一<br />
人在那里大喊：&#8220;卖冰棍儿~~~~卖冰棍儿~~&#8221;。那朋友一听，心里可高兴了，就跟着喊：&#8220;我也是~~~~我也是~~~~&#8221;。</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; 一只小白<br />
又一只小白<br />
猜动物<br />
——————————————<br />
小白兔 </p>
<p>&nbsp; </p>
<p>&nbsp;&nbsp;&nbsp; 两个香蕉逛街<br />
前面的香蕉很热，就把外套脱了<br />
后面的香蕉就摔倒了 </p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; 你猛地一看不怎么样，仔细一看还不如猛地一看。</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; 小蚯蚓跟着妈妈爬行，忽然问妈妈：妈妈，妈妈，爸爸呢？蚯蚓妈妈扭头对<br />
小蚯蚓说：哦，你爸爸啊，他和渔夫一起钓鱼去了！</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; 你男生暗恋一女生 鼓气勇气问那女生喜欢什么样的男生<br />
&#8220;投缘的&#8221;女生答 连问几遍都是一样的答案  <br />
该男生泄气道：&#8220;头扁的行不行&#8221;。 </p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 英文:Do you understand?<br />
翻译:你能倒立吗？ </p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 一日,我上气不接下气追赶末班车，一边追一边喊：师傅!师傅等等我呀~  <br />
车窗突然有名乘客探出头来，慢条斯理的对着我说：悟空．你就别追了 </p>
<p>&nbsp; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 老苍蝇带着小苍蝇又在吃牛粪，小苍蝇问道：妈妈，为什么我们每次都吃牛粪?"<br />
老苍蝇随即就打了小苍蝇一巴掌：&#8220;吃饭的时候不要问这么恶心的问题？&#8221;  </p>
<p>&nbsp; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 大象把大便排在路中央，一只蚂蚁正好路过，它抬<br />
头望了望那云雾缭绕的顶峰，不禁唱到：呀啦索，这就是青藏高原！~~~~ </p>
<p><br />
&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 在超市一个人悄悄D把手放在条码扫描器上，只见屏幕显示：猪蹄 8元，他<br />
以为机器坏了，把脸凑过去，结果屏幕上显示：猪头肉 5元</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; 快醒醒,该吃安眠药了!</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; 报幕员：&#8220;下面，请大家欣赏新疆歌舞——掀起你的头盖骨&#8221;</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; 伸出四个指头，英文读：&#8220;four&#8221;。<br />
那么再把四个指头弯曲了用英文怎么读呢？<br />
对了，是——&#8220;wonderful&#8221;</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp; &nbsp; MM跟我打架，后来我还是屈服了。我伸出胳膊大义凛然道：&#8220;你还不解气就咬我吧！&#8221;<br />
MM：&#8220;对不起，我是回民！！！&#8221;</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 以前买了两只狗，叫脸的一只送给你，叫屁股的给自己，可没几天你的脸逃跑了，<br />
三年后，每当我看见我的狗就想：要是脸没有逃～～～～你的脸应该有我的屁股那么大了～</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 鲨鱼看着一个滑浪风帆运动员说：「招待真周到。既有早餐，又有盘子和餐巾。」 </p>
<p><br />
&nbsp;&nbsp;&nbsp;&nbsp; 公园的椅子上坐着一位老妇人，一个小孩子走过来：&#8220;婆婆，您的牙还行吗？&#8221;<br />
&#8220;不行了，都掉了。&#8221;<br />
小孩子拿出一包胡桃说：&#8220;请您替我拿一下，我过去玩一会球&#8230;&#8230;&#8221;  </p>
<p><br />
&nbsp;&nbsp;&nbsp;&nbsp; 老师：&#8220;如何分辨章鱼的手和脚？&#8221;学生：&#8220;放个屁给它闻，会捂住鼻子的就是手，其他的就是脚。<br />
<br />
</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 医生问病人是怎么骨折的，答：我觉得鞋里有沙子，就扶着电线杆抖鞋，我抖啊抖......有个人以为我触电了，便抄起木棒给了我两棒子。</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; 拉登给布什打电话:"我有一好一坏两消息，你先听哪个？"<br />
布什:&#8220;先听好的&#8220;<br />
拉登&#8220;我向你们自首来了&#8220;<br />
布什&#8220;好啊，坏消息呢？&#8220;<br />
拉登&#8220;我开飞机来的&#8220;</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 一对新兵正在操练。班长命令道&#8220;抬起左腿，伸向前方&#8220;有人因为紧张伸出右腿，结果和旁边的左腿并在一起。班长怒说&#8220;哪个该死的把两条腿都抬起了?!"</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; 一农民第一次打的，他怕被宰，到站时拿出水果刀边剔牙边说"多少钱啊?"<br />
只见司机拿出一把菜刀边刮胡子边答&#8220;大哥您就看着给吧"</p><img src ="http://www.cnblogs.com/ASPNET2008/aggbug/1281751.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42950/" target="_blank">[新闻]Google开拓美政府机构市场 微软业务受冲击</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>老生常谈:组合模式</title><link>http://www.cnblogs.com/ASPNET2008/archive/2008/08/31/1279571.html</link><dc:creator>姜敏</dc:creator><author>姜敏</author><pubDate>Sun, 31 Aug 2008 15:12:00 GMT</pubDate><guid>http://www.cnblogs.com/ASPNET2008/archive/2008/08/31/1279571.html</guid><wfw:comment>http://www.cnblogs.com/ASPNET2008/comments/1279571.html</wfw:comment><comments>http://www.cnblogs.com/ASPNET2008/archive/2008/08/31/1279571.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.cnblogs.com/ASPNET2008/comments/commentRss/1279571.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/ASPNET2008/services/trackbacks/1279571.html</trackback:ping><description><![CDATA[摘要: 无论模式如何强大，用与不用取决于开发人员，如果你有足够的理由不采用那么你可以不屑此模式。 
&nbsp;&nbsp;<a href='http://www.cnblogs.com/ASPNET2008/archive/2008/08/31/1279571.html'>阅读全文</a><img src ="http://www.cnblogs.com/ASPNET2008/aggbug/1279571.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42949/" target="_blank">[新闻]消息称苹果正在开发iTunes网络电视</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>老生常谈:模板方法模式</title><link>http://www.cnblogs.com/ASPNET2008/archive/2008/08/28/1278285.html</link><dc:creator>姜敏</dc:creator><author>姜敏</author><pubDate>Thu, 28 Aug 2008 01:00:00 GMT</pubDate><guid>http://www.cnblogs.com/ASPNET2008/archive/2008/08/28/1278285.html</guid><wfw:comment>http://www.cnblogs.com/ASPNET2008/comments/1278285.html</wfw:comment><comments>http://www.cnblogs.com/ASPNET2008/archive/2008/08/28/1278285.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnblogs.com/ASPNET2008/comments/commentRss/1278285.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/ASPNET2008/services/trackbacks/1278285.html</trackback:ping><description><![CDATA[摘要: 模式方法模式并没有太多高深的内容可言,只能用一句广告词来形容:简约而不简单.只可意会.MS在自己的产品中经常用到这些让人敬畏的设计模式,如果我们平时稍加注意就会发现设计模式也是那么的平易近人.&nbsp;&nbsp;<a href='http://www.cnblogs.com/ASPNET2008/archive/2008/08/28/1278285.html'>阅读全文</a><img src ="http://www.cnblogs.com/ASPNET2008/aggbug/1278285.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42948/" target="_blank">[新闻]微软周一开电话会议 预计将发布Silverlight2.0</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>小工具大智慧</title><link>http://www.cnblogs.com/ASPNET2008/archive/2008/08/26/1276738.html</link><dc:creator>姜敏</dc:creator><author>姜敏</author><pubDate>Tue, 26 Aug 2008 07:24:00 GMT</pubDate><guid>http://www.cnblogs.com/ASPNET2008/archive/2008/08/26/1276738.html</guid><wfw:comment>http://www.cnblogs.com/ASPNET2008/comments/1276738.html</wfw:comment><comments>http://www.cnblogs.com/ASPNET2008/archive/2008/08/26/1276738.html#Feedback</comments><slash:comments>17</slash:comments><wfw:commentRss>http://www.cnblogs.com/ASPNET2008/comments/commentRss/1276738.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/ASPNET2008/services/trackbacks/1276738.html</trackback:ping><description><![CDATA[摘要: 以前园子里有朋友发过类似这样的文章:.NET必备武器.名称记的不太清楚了,当时觉的很多工具都没有用过甚至是没有听说过.自己觉的只要是会了VS,PowerDesigner,Visio,代码生成工具,基本上没有什么值的求人的地方.至到自己亲身体验过nant这个小工具,我才改变自己的看法。&nbsp;&nbsp;<a href='http://www.cnblogs.com/ASPNET2008/archive/2008/08/26/1276738.html'>阅读全文</a><img src ="http://www.cnblogs.com/ASPNET2008/aggbug/1276738.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42947/" target="_blank">[新闻]开心网即将启用”shejiao.com”?</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item></channel></rss>