<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:wfw="http://wellformedweb.org/CommentAPI/">
  <channel>
    <title><![CDATA[『双子宫殿』-  TanSea's Blog]]></title> 
    <link>http://www.tansea.cn/</link> 
    <description><![CDATA[]]></description> 
    <language>en</language> 
    <copyright><![CDATA[Copyright 2012, 『双子宫殿』-  TanSea's Blog]]></copyright> 
    <webMaster><![CDATA[TanSea_CN@MSN.com (TanSea)]]></webMaster> 
    <generator>LBS v2.0.313</generator> 
    <pubDate>Mon, 21 May 2012 04:56:00 +0800</pubDate> 
    <ttl>60</ttl>
  
    <item>
      <title><![CDATA[在右键菜单中添加“用记事本打开”]]></title> 
      <link><![CDATA[http://www.tansea.cn/article.asp?id=125]]></link> 
      <category><![CDATA[工作学习]]></category> 
      <author><![CDATA[TanSea <null@null.com>]]></author> 
      <pubDate>Tue, 12 Apr 2011 03:25:42 +0800</pubDate> 
      <description><![CDATA[1、开始-&gt;运行-&gt;REGEDIT<br />2、HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\<br />3、*新建项shell<br />4、shell新建项notepad，新建字符串值(用&quot;记事本&quot;打开)<br />5、notepad新建项command，新建字符串值(notepad.exe &quot;%1&quot;)]]></description>
      <wfw:commentRss><![CDATA[http://www.tansea.cn/feed.asp?q=comment&id=125]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[去掉IE7每次启动的自定义设置]]></title> 
      <link><![CDATA[http://www.tansea.cn/article.asp?id=124]]></link> 
      <category><![CDATA[工作学习]]></category> 
      <author><![CDATA[TanSea <null@null.com>]]></author> 
      <pubDate>Mon, 28 Jun 2010 02:14:56 +0800</pubDate> 
      <description><![CDATA[方法一：<br />1、开始-&gt;运行-&gt;gpedit.msc<br />2、用户配置-&gt;管理模板-&gt;Windows Components-&gt;Internet Explorer<br />3、找到“阻止执行首次运行自定义设置”，双击打开新窗口选择“已启用”项，在下面的“选择您的选择”框中选择“直接转到主页”<br /><br />方法二：<br />1、开始-&gt;运行-&gt;regedit<br />2、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main<br />3、新建DWORD值，命名为DisableFirstRunCustomize，并修改其值为1]]></description>
      <wfw:commentRss><![CDATA[http://www.tansea.cn/feed.asp?q=comment&id=124]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[通过OpenProcess获取进程句柄失败的处理方法]]></title> 
      <link><![CDATA[http://www.tansea.cn/article.asp?id=123]]></link> 
      <category><![CDATA[工作学习]]></category> 
      <author><![CDATA[TanSea <null@null.com>]]></author> 
      <pubDate>Wed, 30 Dec 2009 05:36:16 +0800</pubDate> 
      <description><![CDATA[wnd := FindWindow(nil,PChar(&#39;窗口名&#39;));    //得到窗口句柄<br />    GetWindowThreadProcessId(wnd,@pID);    //得到进程ID<br />    pHandle:= OpenProcess(PROCESS_ALL_ACCESS,False,pID);    //得到进程句柄<br /><br />当目标窗口的进程有访问权限时，OpenProcess会获取不到进程句柄，必需先提权，方法如下：<br /><br />function EnableDebugPrivilege(CanDebug: boolean): Boolean;<br />  function EnablePrivilege(hToken: Cardinal; PrivName: string; bEnable: Boolean): Boolean;<br />  var<br />    TP: Windows.TOKEN_PRIVILEGES;<br />]]></description>
      <wfw:commentRss><![CDATA[http://www.tansea.cn/feed.asp?q=comment&id=123]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[让Windows XP自动登录]]></title> 
      <link><![CDATA[http://www.tansea.cn/article.asp?id=122]]></link> 
      <category><![CDATA[工作学习]]></category> 
      <author><![CDATA[TanSea <null@null.com>]]></author> 
      <pubDate>Thu, 29 Oct 2009 02:30:03 +0800</pubDate> 
      <description><![CDATA[　　在 Windows XP 中单击“开始→运行”，输入 “rundll32 netplwiz.dll,UsersRunDll”（注意大小写及空格），按回车就会出现一个“用户账户”的操作窗口，取消对“要使用本机，用户必须输入用户名和密码”项的选择，点击“应用”。在接下来弹出的对话框中输入你想让电脑每次自动登录的用户名及其密码，下次启动时就可以实现XP的自动登录了。]]></description>
      <wfw:commentRss><![CDATA[http://www.tansea.cn/feed.asp?q=comment&id=122]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[C#编程规范]]></title> 
      <link><![CDATA[http://www.tansea.cn/article.asp?id=120]]></link> 
      <category><![CDATA[工作学习]]></category> 
      <author><![CDATA[TanSea <null@null.com>]]></author> 
      <pubDate>Tue, 09 Dec 2008 14:58:59 +0800</pubDate> 
      <description><![CDATA[养成良好的编码风格是极其必要的，谁也不愿意看到一堆杂乱无章的代码，将来你或者别人在维护的时候是多么的痛苦，所以，从现在开始，养成良好的编码习惯，包括变量命名，注释，代码缩进....。<br /> <br />1 .利用Pascal的方式定义类型、方法名和常量  <div class="code">public class SomeClass<br />{<br />　　const int DefaultSize=100;  <br />　　public SomeMethod()<br />　　{<br />　　}<br />} </div> <br />2.对于局部变量和方法的参数使用骆驼命名法<div class="code">int number;  <br />void MyMethod(int someNumber)  <br />{} </div> <br />3.接口的名称前加上I <br />interface ImyInterface   <br />{…} <br /><br />4.在私有成员变量前面加上m_。对于m_后面的变量名使用骆驼命名方法<br />]]></description>
      <wfw:commentRss><![CDATA[http://www.tansea.cn/feed.asp?q=comment&id=120]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[C#异步多线程]]></title> 
      <link><![CDATA[http://www.tansea.cn/article.asp?id=119]]></link> 
      <category><![CDATA[工作学习]]></category> 
      <author><![CDATA[TanSea <null@null.com>]]></author> 
      <pubDate>Tue, 09 Dec 2008 11:49:41 +0800</pubDate> 
      <description><![CDATA[在多线程的情况下，其它线程无法直接调用到主线程上的控件，只能通过代理来实现主线程上控件的调用。<br /><br />1、定义委托<br />　　// 执行任务的委托声明（解决长任务死假）<br />　　delegate void RunTaskDelegate(int seconds);<br />　　// 显示进度条的委托声明（跨线程调用控件）<br />　　delegate void ShowProgressDelegate(int totalStep, int currentStep);<br />2、定义方法<br />　　private void ShowProgress(int totalStep, int currentStep)<br />　　{<br />　　　　progressBar1.Maximum = totalStep;<br />　　　　progressBar1.Value = currentStep;<br />　　}<br />3、定义线程<br />　　private void RunTask(int seconds)<br />]]></description>
      <wfw:commentRss><![CDATA[http://www.tansea.cn/feed.asp?q=comment&id=119]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[JavaScript与C#Windows应用程序交互]]></title> 
      <link><![CDATA[http://www.tansea.cn/article.asp?id=117]]></link> 
      <category><![CDATA[工作学习]]></category> 
      <author><![CDATA[TanSea <null@null.com>]]></author> 
      <pubDate>Wed, 22 Oct 2008 15:42:54 +0800</pubDate> 
      <description><![CDATA[一、网页<div class="code">&nbsp;&lt;html&gt;<br />&nbsp;&lt;head&gt;<br />&nbsp;&lt;meta http-equiv=&quot;Content-Language&quot; content=&quot;zh-cn&quot;&gt;<br />&nbsp;&lt;script language=&quot;javascript&quot; type=&quot;text/javascript&quot;&gt;<br />&nbsp;&lt;!-- 提供给C#程序调用的方法 --&gt;<br />&nbsp;function messageBox(message)<br />&nbsp;{<br />&nbsp;alert(message);<br />&nbsp;}<br />&nbsp;&lt;/script&gt;<br />&nbsp;&lt;/head&gt;<br />&nbsp;<br />&nbsp;&lt;body&gt;<br />&nbsp;&lt;!-- 调用C#方法 --&gt;<br />&nbsp;&lt;button onclick=&quot;window.externa</div>]]></description>
      <wfw:commentRss><![CDATA[http://www.tansea.cn/feed.asp?q=comment&id=117]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[过秦论]]></title> 
      <link><![CDATA[http://www.tansea.cn/article.asp?id=116]]></link> 
      <category><![CDATA[古典名著]]></category> 
      <author><![CDATA[TanSea <null@null.com>]]></author> 
      <pubDate>Tue, 07 Oct 2008 13:28:52 +0800</pubDate> 
      <description><![CDATA[贾谊（前200-前168），世称贾太傅、贾长沙、贾生。洛阳（今河南洛阳东）人。西汉初期的政论家、文学家。年少即以育诗属文闻于世人。后见用于文帝，力主改革，被贬。改任梁怀王太傅。梁怀王堕马而死，自伤无状，忧愤而死。主要文学成就是政论文，著有《新书》十卷。代表作有《过秦论》上、中、下三篇，《陈政事疏》（亦名《治安策》），《论积贮疏》等。《过秦论》总结了秦代兴亡的教训，实则昭汉之过。《陈政事疏》和《论积贮疏》是批评时政之作，提出用“众诸侯而少其力”的办法，巩固中央集权制。要“驱民而归之农”，巩固政权。其文说理透辟，逻辑严密，气势汹涌，词句铿锵有力，对后代散文影响很大。鲁迅曾说，他与晁错的文章“皆为西汉鸿文，沾溉后人，其泽甚远。”《汉书·艺文志》著录有赋七篇，被贬长沙途中渡湘水时作《吊屈原赋》，以自谕。谪居长沙三年，作《鹏鸟赋》，假托与鹏鸟的问答，说明“万物变化之理”，对死生荣辱，万物众生，皆不在]]></description>
      <wfw:commentRss><![CDATA[http://www.tansea.cn/feed.asp?q=comment&id=116]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[08年最佳短篇小说《伤害》]]></title> 
      <link><![CDATA[http://www.tansea.cn/article.asp?id=115]]></link> 
      <category><![CDATA[趣味网文]]></category> 
      <author><![CDATA[TanSea <null@null.com>]]></author> 
      <pubDate>Tue, 07 Oct 2008 13:10:30 +0800</pubDate> 
      <description><![CDATA[有一只失恋的狼到处觅食，<br />听到屋里有女人在训孩子：<br /><br />再哭就把你扔出去喂狼!! <br /><br />孩子哭了一夜，<br />狼在外面痴痴等到天亮，<br /><br />含泪长叹一声<br />骗子，女人都是骗子!!!]]></description>
      <wfw:commentRss><![CDATA[http://www.tansea.cn/feed.asp?q=comment&id=115]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[C#注册全局热键]]></title> 
      <link><![CDATA[http://www.tansea.cn/article.asp?id=114]]></link> 
      <category><![CDATA[工作学习]]></category> 
      <author><![CDATA[TanSea <null@null.com>]]></author> 
      <pubDate>Tue, 22 Jul 2008 10:01:00 +0800</pubDate> 
      <description><![CDATA[注册全局热键要用到Windows的API方法RegisterHotKey和UnregisterHotKey。<br />一、声明注册热键方法<div class="code">&nbsp;[DllImport(&quot;user32.dll&quot;)]<br />&nbsp;private static extern int RegisterHotKey(IntPtr hwnd, int id, int fsModifiers, int vk);<br />&nbsp;[DllImport(&quot;user32.dll&quot;)]<br />&nbsp;private static extern int UnregisterHotKey(IntPtr hwnd, int id);<br />&nbsp;int Space = 32;    //热键ID<br />&nbsp;private const int WM_HOTKEY = 0x312;    //窗口消息-热键<br />&nbsp;private const </div>]]></description>
      <wfw:commentRss><![CDATA[http://www.tansea.cn/feed.asp?q=comment&id=114]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[VS2003实现抓图操作]]></title> 
      <link><![CDATA[http://www.tansea.cn/article.asp?id=113]]></link> 
      <category><![CDATA[工作学习]]></category> 
      <author><![CDATA[TanSea <null@null.com>]]></author> 
      <pubDate>Sun, 20 Jul 2008 17:51:20 +0800</pubDate> 
      <description><![CDATA[由于VS2003没有CopyFromScreen方法，所以只有用API来实现抓图，代码如下：<br />一、声明API方法BitBlt和CreateDC<div class="code">&nbsp;[System.Runtime.InteropServices.DllImportAttribute(&quot;gdi32.dll&quot;)]<br />&nbsp;private static extern bool BitBlt(<br />&nbsp;IntPtr hdcDest,   //目标设备的句柄<br />&nbsp;int nXDest,   //   目标对象的左上角的X坐标<br />&nbsp;int nYDest,   //   目标对象的左上角的X坐标<br />&nbsp;int nWidth,   //   目标对象的矩形的宽度<br />&nbsp;int nHeight,   //   目标对象的矩形的长度</div>]]></description>
      <wfw:commentRss><![CDATA[http://www.tansea.cn/feed.asp?q=comment&id=113]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[C#中捕捉控件的系统事件]]></title> 
      <link><![CDATA[http://www.tansea.cn/article.asp?id=112]]></link> 
      <category><![CDATA[工作学习]]></category> 
      <author><![CDATA[TanSea <null@null.com>]]></author> 
      <pubDate>Fri, 11 Jul 2008 15:35:31 +0800</pubDate> 
      <description><![CDATA[重写目标控件的ProcessCmdKey方法<br />protected override bool ProcessCmdKey(ref Message msg, Keys keyData) <br />{<br />  if (keyData == Keys.Control| Keys.C)<br />  {<br />    MessageBox.Show(&quot;禁止使用Ctrl+C复制数据！&quot;);<br />  } <br />}]]></description>
      <wfw:commentRss><![CDATA[http://www.tansea.cn/feed.asp?q=comment&id=112]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[C#创建Windows服务]]></title> 
      <link><![CDATA[http://www.tansea.cn/article.asp?id=111]]></link> 
      <category><![CDATA[工作学习]]></category> 
      <author><![CDATA[TanSea <null@null.com>]]></author> 
      <pubDate>Thu, 10 Jul 2008 12:07:27 +0800</pubDate> 
      <description><![CDATA[1. 新建一个Windows服务项目。<br />2. 添加System.Timer.Timer控件，Windows服务不支持System.Windows.Form.Timer控件。<br />   打开&quot;工具箱&quot;--&gt;右键--&gt;&quot;选择项&quot;--&gt;System.Timer.Timer控件，然后添加。<br />3. 设置Timer属性，Interval属性200毫秒<br />4. 为服务填加功能代码（Elapsed事件）<br />5. 将这个服务程序切换到设计视图，右击--&gt;&quot;添加安装程序&quot;<br />6. 切换到刚被添加的ProjectInstaller的设计视图<br />   设置serviceInstaller1组件的属性：<br />   1) ServiceName = My Sample Service<br />   2) StartType = Automatic<br />   设置serviceProcessInstaller1组件的属性：<br />]]></description>
      <wfw:commentRss><![CDATA[http://www.tansea.cn/feed.asp?q=comment&id=111]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[Visual Studio 2005 自定义代码段]]></title> 
      <link><![CDATA[http://www.tansea.cn/article.asp?id=110]]></link> 
      <category><![CDATA[读书笔记]]></category> 
      <author><![CDATA[TanSea <null@null.com>]]></author> 
      <pubDate>Sat, 24 May 2008 16:15:25 +0800</pubDate> 
      <description><![CDATA[代码段实际上就是一个后缀名为snippet的XML文件。<br />C#的代码段保存在C:\Program Files\Microsoft Visual Studio 8\VC#\Snippets目录下。<br />代码段主体部分分为Header和Snippet，分别包括以下子元素：<br />Header:<br />　　Author:指定代码段的作者姓名<br />　　Description:指定有关IntelliSense代码段内容的描述信息<br />　　HelpUrl:指定提供有关代码段的更多信息的URL<br />　　Keywords:为代码段指定自定义的关键字<br />　　Shortcut:指定用于插入代码段的快捷方式文本<br />　　SnippetTypes:指定Visual Studio插入代码段的方式（分代码段和外侧代码段）<br />　　Title: 指定代码段的标题<br />Snippet:<br />　　Code:提供用于容纳IntelliSense代码段的短代码段的容器<br />]]></description>
      <wfw:commentRss><![CDATA[http://www.tansea.cn/feed.asp?q=comment&id=110]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[C#窗口关闭时最小化到托盘]]></title> 
      <link><![CDATA[http://www.tansea.cn/article.asp?id=109]]></link> 
      <category><![CDATA[工作学习]]></category> 
      <author><![CDATA[TanSea <null@null.com>]]></author> 
      <pubDate>Tue, 20 May 2008 15:22:28 +0800</pubDate> 
      <description><![CDATA[<div class="code">//初始化退出标识<br />private DialogResult result = DialogResult.No;<br /><br />//Yes关闭窗口，No最小化窗口<br />private void Form1_FormClosing(object sender, FormClosingEventArgs e)<br />{<br />&nbsp;if (result == DialogResult.Yes)<br />&nbsp;{<br />&nbsp;e.Cancel = false;<br />&nbsp;Application.Exit();<br />&nbsp;}<br />&nbsp;else<br />&nbsp;{<br />&nbsp;e.Cancel = true;<br />&nbsp;this.Hide();<br />&nbsp;this.Visible = false;<br />&nbsp;}<br />}<br /><br />//关闭按钮，给result赋值<br />private void btnExit_Click(object sender, EventArgs e)</div>]]></description>
      <wfw:commentRss><![CDATA[http://www.tansea.cn/feed.asp?q=comment&id=109]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[一个C#睡前故事]]></title> 
      <link><![CDATA[http://www.tansea.cn/article.asp?id=108]]></link> 
      <category><![CDATA[工作学习]]></category> 
      <author><![CDATA[TanSea <null@null.com>]]></author> 
      <pubDate>Mon, 12 May 2008 09:49:31 +0800</pubDate> 
      <description><![CDATA[紧耦合<br />　　从前，在南方一块奇异的土地上，有个工人名叫彼得，他非常勤奋，对他的老板总是百依百顺。但是他的老板是个吝啬的人，从不信任别人，坚决要求随时知道彼得的工作进度，以防止他偷懒。但是彼得又不想让老板呆在他的办公室里站在背后盯着他，于是就对老板做出承诺：无论何时，只要我的工作取得了一点进展我都会及时让你知道。彼得通过周期性地使用“带类型的引用”(原文为：“typed reference” 也就是delegate？？)“回调”他的老板来实现他的承诺，如下：<div class="code">class Worker {<br />&nbsp;public void Advise(Boss boss) { _boss = boss; }<br />&nbsp;public void DoWork() {<br />&nbsp;Console.WriteLine(“工作: 工作开始”);<br />&nbsp;if( _boss != null ) _boss.WorkStarted();</div>]]></description>
      <wfw:commentRss><![CDATA[http://www.tansea.cn/feed.asp?q=comment&id=108]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[VS2003 WinForm 设置列的颜色]]></title> 
      <link><![CDATA[http://www.tansea.cn/article.asp?id=107]]></link> 
      <category><![CDATA[工作学习]]></category> 
      <author><![CDATA[TanSea <null@null.com>]]></author> 
      <pubDate>Tue, 29 Jan 2008 20:26:03 +0800</pubDate> 
      <description><![CDATA[<div class="code">public class MyDataGridTextBoxColumn : System.Windows.Forms.DataGridTextBoxColumn<br />{<br />&nbsp;public System.Drawing.Color ForeColor = System.Drawing.SystemColors.WindowText;<br />&nbsp;public System.Drawing.Color BackColor = System.Drawing.SystemColors.Window;<br />&nbsp;protected override void Paint(System.Drawing.Graphics g, System.Drawing.Rectangle bounds, System.Windows.Forms.CurrencyManager source, int </div>]]></description>
      <wfw:commentRss><![CDATA[http://www.tansea.cn/feed.asp?q=comment&id=107]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[C#日期函数所有样式大全]]></title> 
      <link><![CDATA[http://www.tansea.cn/article.asp?id=106]]></link> 
      <category><![CDATA[工作学习]]></category> 
      <author><![CDATA[TanSea <null@null.com>]]></author> 
      <pubDate>Sun, 30 Dec 2007 12:17:49 +0800</pubDate> 
      <description><![CDATA[DateTime dt = DateTime.Now;<br />Label1.Text = dt.ToString();//2005-11-5 13:21:25<br />Label2.Text = dt.ToFileTime().ToString();//127756416859912816<br />Label3.Text = dt.ToFileTimeUtc().ToString();//127756704859912816<br />Label4.Text = dt.ToLocalTime().ToString();//2005-11-5 21:21:25<br />Label5.Text = dt.ToLongDateString().ToString();//2005年11月5日<br />Label6.Text = dt.ToLongTimeString().ToString();//13:21:25<br />Label7.Text ]]></description>
      <wfw:commentRss><![CDATA[http://www.tansea.cn/feed.asp?q=comment&id=106]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[游戏外挂设计技术]]></title> 
      <link><![CDATA[http://www.tansea.cn/article.asp?id=105]]></link> 
      <category><![CDATA[工作学习]]></category> 
      <author><![CDATA[TanSea <null@null.com>]]></author> 
      <pubDate>Wed, 26 Dec 2007 23:16:03 +0800</pubDate> 
      <description><![CDATA[　　一、 前言 <br /><br />　　所谓游戏外挂，其实是一种游戏外辅程序，它可以协助玩家自动产生游戏动作、修改游戏网络数据包以及修改游戏内存数据等，以实现玩家用最少的时间和金钱去完成功力升级和过关斩将。虽然，现在对游戏外挂程序的“合法”身份众说纷纭，在这里我不想对此发表任何个人意见，让时间去说明一切吧。<br />　　不管游戏外挂程序是不是“合法”身份，但是它却是具有一定的技术含量的，在这些小小程序中使用了许多高端技术，如拦截Sock技术、拦截API技术、模拟键盘与鼠标技术、直接修改程序内存技术等等。本文将对常见的游戏外挂中使用的技术进行全面剖析。<br /><br />　　二、认识外挂<br /><br />　　游戏外挂的历史可以追溯到单机版游戏时代，只不过当时它使用了另一个更通俗易懂的名字??游戏修改器。它可以在游戏中追踪锁定游戏主人公的各项能力数值。这样玩家在游戏中可以达到主角不掉血、不耗费魔法、不消耗金钱等目的。这样降低了游戏的难度，使得玩家更容易通关。<br />]]></description>
      <wfw:commentRss><![CDATA[http://www.tansea.cn/feed.asp?q=comment&id=105]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[程序设计模式的有趣解释－追MM]]></title> 
      <link><![CDATA[http://www.tansea.cn/article.asp?id=104]]></link> 
      <category><![CDATA[工作学习]]></category> 
      <author><![CDATA[TanSea <null@null.com>]]></author> 
      <pubDate>Mon, 24 Dec 2007 09:27:23 +0800</pubDate> 
      <description><![CDATA[创建型模式<br /><br />    1、FACTORY一追MM少不了请吃饭了，麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西，虽然口味有所不同，但不管你带MM去麦当劳或肯德基，只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory<br />      工厂模式：客户类和工厂类分开。消费者任何时候需要某种产品，只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时，工厂类也要做相应的修改。如：如何创建及如何向客户端提供。<br /><br />    2、BUILDER—MM最爱听的就是“我爱你”这句话了，见到不同地方的MM,要能够用她们的方言跟她说这句话哦，我有一个多种语言翻译机，上面每种语言都有一个按键，见到MM我只要按对应的键，它就能够用相应的语言说出“我爱你”这句话了，国外的MM 也可以轻松搞掂，这就是我的“我爱你”builder。（这一定比美军在伊拉克用的翻译机好卖）<br />]]></description>
      <wfw:commentRss><![CDATA[http://www.tansea.cn/feed.asp?q=comment&id=104]]></wfw:commentRss>
    </item>
      
  </channel>
</rss>

