<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_clound</title><subtitle type="text"/><id>http://feed.cnblogs.com/blog/u/47054/rss</id><updated>2012-04-12T10:20:02Z</updated><author><name>clound</name><uri>http://www.cnblogs.com/dooom/</uri></author><generator>feed.cnblogs.com</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/dooom/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/47054/rss"/><entry><id>http://www.cnblogs.com/dooom/archive/2011/09/04/2166862.html</id><title type="text">SQL2000与SQL2005共存</title><summary type="text">机子要同时安装SQL2000与SQL2005。可参考如下办法安装： 如果你在这之前装了 VS2008 或者VS2010 自动装了SQL2005的工具组件。那么SQL2005的光盘2 就无法继续，这个时候可以: 控制面板--》添加/删除程序--&gt;卸载“Microsoft SQL Server 2005 ”--&gt;在卸载对话框中选择“卸载SQL SERVER 2005公共组件”--&gt;工作站组件，删除客户端后，再重新安装客户端即可。一、运行光盘1跳过 准备 步骤，直接进行“服务器组件、工具、联机丛书和示例”的安装。接着是许可协议，当然选择“我接受许可条款和条件”，不选择就没得装了。然</summary><published>2011-09-04T15:47:00Z</published><updated>2011-09-04T15:47:00Z</updated><author><name>clound</name><uri>http://www.cnblogs.com/dooom/</uri></author><link rel="alternate" href="http://www.cnblogs.com/dooom/archive/2011/09/04/2166862.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/dooom/archive/2011/09/04/2166862.html"/><content type="html">&lt;p&gt;&amp;nbsp; 机子要同时安装SQL2000与SQL2005。可参考如下办法安装：&lt;/p&gt;&lt;p&gt;&amp;nbsp; 如果你在这之前装了 VS2008 或者VS2010 自动装了SQL2005的工具组件。那么&lt;span style="background-color: #ff0000;"&gt;SQL2005的光盘2 就无法继续&lt;/span&gt;，这个时候可以:&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp; &lt;span style="background-color: #ffff00;"&gt;控制面板--》添加/删除程序--&amp;gt;卸载&amp;ldquo;Microsoft SQL Server 2005 &amp;rdquo;--&amp;gt;在卸载对话框中选择&amp;ldquo;卸载SQL SERVER 2005公共组件&amp;rdquo;--&amp;gt;工作站组件，删除客户端后，再重新安装客户端即可&lt;/span&gt;。&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt; text-indent: -21pt; text-align: left; mso-list: l0 level1 lfo1;" align="left"&gt;&lt;span style="mso-bidi-font-size: 10.5pt;"&gt;&lt;span style="mso-list: Ignore;"&gt;一、&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt;"&gt;运行光盘&lt;span&gt;1&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img title="" style="width: 600px; cursor: pointer;" alt="" src="http://www.gz1dc.com/upload/201104050306557713.jpg" jquery1315149147404="3" /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;跳过&lt;span&gt; &lt;/span&gt;&lt;span&gt;准备&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;步骤，直接进行&lt;/span&gt;&lt;span&gt;&amp;ldquo;&lt;/span&gt;&lt;span&gt;服务器组件、工具、联机丛书和示例&lt;/span&gt;&lt;span&gt;&amp;rdquo;&lt;/span&gt;&lt;span&gt;的安装。&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span&gt;接着是许可协议，当然选择&lt;/span&gt;&lt;span&gt;&amp;ldquo;&lt;/span&gt;&lt;span&gt;我接受许可条款和条件&lt;/span&gt;&lt;span&gt;&amp;rdquo;&lt;/span&gt;&lt;span&gt;，不选择就没得装了。&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;然后是&lt;/span&gt;&lt;span&gt;sqlserver&lt;/span&gt;&lt;span&gt;进行安装前的支持组件安装、扫描计算机配置，接着才进入安装向导。&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;在安装向导里，&lt;/span&gt;&lt;span&gt;sqlserver 2005&lt;/span&gt;&lt;span&gt;安装程序会对系统进行配置检查，这一关是否能过就要看你电脑的配置情况了，一般不是太古老的机子应该都没有问题。&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;接下来输入注册信息；选择要安装的组件，这里我们只选择&lt;/span&gt;&lt;span&gt;SQL Server Database Services&lt;/span&gt;&lt;span&gt;组件，其他的用不着。在这个过程中我们可以点击&lt;/span&gt;&lt;span&gt;"&lt;/span&gt;&lt;span&gt;高级&lt;/span&gt;&lt;span&gt;"&lt;/span&gt;&lt;span&gt;按钮来选择安装路径。&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;img title="" alt="" src="http://www.gz1dc.com/upload/201104050307191147.jpg" /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;接下来在&lt;strong&gt;&lt;span style="font-weight: normal; mso-bidi-font-weight: bold;"&gt;&amp;ldquo;实例名&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-weight: normal; mso-bidi-font-weight: bold;"&gt;&amp;rdquo;&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-weight: normal; mso-bidi-font-weight: bold;"&gt;中这是比较关键的一步，如果机子上没有别的&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-weight: normal; mso-bidi-font-weight: bold;"&gt;Sql&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-weight: normal; mso-bidi-font-weight: bold;"&gt;版本的，选择默认实例名就行了，但是由于我本上原装有&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-weight: normal; mso-bidi-font-weight: bold;"&gt;Sql2000&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-weight: normal; mso-bidi-font-weight: bold;"&gt;，所以这一步得选&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-weight: normal; mso-bidi-font-weight: bold;"&gt;&amp;ldquo;&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-weight: normal; mso-bidi-font-weight: bold;"&gt;新实例名&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-weight: normal; mso-bidi-font-weight: bold;"&gt;&amp;rdquo;&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-weight: normal; mso-bidi-font-weight: bold;"&gt;，然后输入实例名，实例名可以由&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-weight: normal; mso-bidi-font-weight: bold;"&gt;A-Z&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-weight: normal; mso-bidi-font-weight: bold;"&gt;或&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-weight: normal; mso-bidi-font-weight: bold;"&gt;a-z&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-weight: normal; mso-bidi-font-weight: bold;"&gt;的&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-weight: normal; mso-bidi-font-weight: bold;"&gt;16位字母组成。&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;img title="" alt="" src="http://www.gz1dc.com/upload/201104050307370526.jpg" /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;接着就下一步，到&lt;span&gt;&lt;span style="font-family: 宋体;"&gt;服认证模式选用混合认证模式&lt;/span&gt;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt;&lt;span style="font-family: 宋体;"&gt;同时设置&lt;/span&gt;&lt;/span&gt;&lt;span&gt;sa&lt;/span&gt;&lt;span&gt;&lt;span style="font-family: 宋体;"&gt;密码&lt;/span&gt;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;span&gt;&lt;span style="font-family: 宋体;"&gt;剩下部分的安装都选默认值&lt;/span&gt;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt;&lt;span style="font-family: 宋体;"&gt;一路&lt;/span&gt;&lt;/span&gt;&lt;span&gt;"&lt;/span&gt;&lt;span&gt;&lt;span style="font-family: 宋体;"&gt;下一步&lt;/span&gt;&lt;/span&gt;&lt;span&gt;",&lt;/span&gt;&lt;span&gt;&lt;span style="font-family: 宋体;"&gt;最后安装&lt;/span&gt;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;&lt;span&gt;完成。&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12px;"&gt;&lt;span&gt;&lt;span style="font-family: 宋体;"&gt;此时完成后，没有出现&lt;/span&gt;&lt;/span&gt;&lt;span&gt;SQL Server Management Studio&lt;/span&gt;&lt;span&gt;&lt;span style="font-family: 宋体;"&gt;工具&lt;/span&gt;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;&lt;span&gt;我们还需要安装第二张盘。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12px;"&gt;&lt;span&gt;&lt;span style="font-family: 宋体;"&gt;运行光盘&lt;/span&gt;&lt;/span&gt;&lt;span&gt;2&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;img title="" style="width: 600px; cursor: pointer;" alt="" src="http://www.gz1dc.com/upload/201104050307544238.jpg" jquery1315149147404="2" /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;点击&lt;span&gt;"&lt;/span&gt;&lt;span&gt;仅工具、联机丛书和示例&lt;/span&gt;&lt;span&gt;"&lt;/span&gt;&lt;span&gt;进行安装，又是同样的步骤，同意、下一步、下一步、下一步、注册信息填写，下一步。&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;接着我们进入最重要的一步：功能选择。这里必须将客户端组件全部选择安装至本地。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img title="" alt="" src="http://www.gz1dc.com/upload/201104050308138575.jpg" /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 宋体;" face="宋体"&gt;接下来一路回车下去，完成安装。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12px;"&gt;&lt;span&gt;&lt;span style="font-family: 宋体;"&gt;打开开始〉〉〉程序〉〉〉&lt;/span&gt;&lt;/span&gt;&lt;span&gt;SQL Server 2005&lt;/span&gt;&lt;span&gt;&lt;span style="font-family: 宋体;"&gt;中终于看到了&lt;/span&gt;&lt;/span&gt;&lt;span&gt;SQL Server Management Studio&lt;/span&gt;&lt;span&gt;&lt;span style="font-family: 宋体;"&gt;。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 12px;"&gt;&lt;span&gt;&lt;span style="font-family: 宋体;"&gt;到处，&lt;/span&gt;&lt;/span&gt;&lt;span&gt;Sql 2005&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;&lt;span&gt;共存数据库安装完成&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12px;"&gt;&lt;span style="font-family: 宋体;"&gt;&lt;span&gt;&lt;strong&gt;&lt;span style="font-size: 18px;"&gt;同时安装SQL2000与SQL2005系列相关问题&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;&lt;span&gt;&lt;strong&gt;&lt;span style="font-size: 18px;"&gt;同时安装SQL2000与SQL2005系列相关问题&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;前些天一时兴起，想起自己下了好久的SQL2005 开发版一直没装过。&lt;br /&gt;由于自己的本本是作为开发用的。所以里面环境装的很多。&lt;br /&gt;vs2003,vs2005,sql2000,mysql5,php,java.....&lt;br /&gt;&lt;br /&gt;怕SQL2005直接是在2000基础上升级的。所以先BAIDU了下。&lt;br /&gt;得到的结论是2000可以和2005同时存在，大喜。于是开始安装。&lt;br /&gt;&lt;br /&gt;安装真是痛苦啊。2005比2000安装慢了N多。&lt;br /&gt;&lt;br /&gt;由于一路是按照网上教程安装下来的。也没在意过对与错。反正2000数据库备份了！&lt;br /&gt;&lt;br /&gt;安装完后，使用2005的数据库config工具，确实可以看到SQL BROWER。&lt;br /&gt;可问题出来了。使用2005的数据库管理工具，却老是连不上SQL。郁闷，将2000启动，发现可以连上，可2005就是连不上，实在郁闷的不行了。&lt;br /&gt;&lt;br /&gt;于是就想将2005删掉。在开始卸载前突然想起，SQL安装的时候都有实例。是不是由于2000与2005安装都是采用的默认实例造成的2005不能访问呢？&lt;br /&gt;于是再安装。新建一个新的实例。嘎嘎。搞定~~可以连接了。。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div class="cnt"&gt;&lt;p&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 16px;"&gt;本来电脑上安装的是SQL2005，后来因项目要求需要安装SQL2000。当时贪图省事，直接就开始安装SQL2000，却未料引起了很多麻烦。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 16px; font-family: 宋体;"&gt;SQL安装完成之后，便按要求restore项目所用的数据库。但是每次启动程序，它都提示说无法连接到数据库。我再三确认配置文件，并没有问题。看着它每次给我个无法提示的连接，几近崩溃。后来上网搜索了下，回想了一下SQL的安装过程，想到或许是因为实例名称的问题。因为也没有想到其他的解决办法，于是照着这一思路将sql2005和sql2000全部卸载了再重新安装，启动程序，终于成功。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 16px; font-family: 宋体;"&gt;原来因为先安装了2005，于是在安装2000的过程中提示要修改实例名称。而程序因为只能连接默认实例名称，于是本想让它连到2000却连到了2005，所以才会一直出现无法连接的错误。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 16px; font-family: 宋体;"&gt;以下引用自网络文章，是在搜索过程中发现的一篇，附上以供参考。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="background-color: #ffff99;"&gt;最近因项目要求需要在同一服务器上安装SQL2000和SQL2005,现把安装过程中遇到的问题记录下来,方便遇到同样问题的朋友.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="background-color: #ffff99;"&gt;1,因为SQL2000安装过程中无法&lt;/span&gt;&lt;a name="baidusnap1"&gt;&lt;/a&gt;&lt;span style="background-color: #ffff99;"&gt;修改实例名称,故安装过程中必须先安装SQL2000,然后在安装SQL2005.安装SQL2005时必须修改SQL实例名称,否则将和SQL2000的实例名称冲突.&lt;/span&gt;&lt;span style="font-size: 12px;"&gt;（关于此点，本人并不认同。若是先安装sql2005，则在安装sql2000的过程中自会提示你要修改实例名称。）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="background-color: #ffff99;"&gt;2,安装完SQL2005后,开始准备用SQL2000客户端工具连接SQL2005,结果报告不能用SQL2000客户端工具连接,只能用SQL2005客户端工具连接,后证明SQL2005客户端工具可以同时连接SQL2000和SQL2005.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="background-color: #ffff99;"&gt;3,服务器上安装完成后,准备用远程连接SQL服务器试试,结果始终连接不上SQL2005,只能连接上SQL2000.原来SQL2000服务器用的端口始终是1433端口,而SQL2005使用的是动态端口.那如果用程序连接SQL20005服务器的时候,程序如何知道SQL2005服务器用的是什么端口呢?原来SQL2005提供了一个SQL BROWER服务,开启这个服务后,就可以通过查询SQL BROWER服务 就可以知道SQL2005现在正在使用哪个端口.因为项目需要,需要把这个SQL2005的动态端口改成静态的,修改过程如下:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="background-color: #ffff99;"&gt;运行SQL配置管理程序,找到SQL的实例名称下面的协议,双击右边的TCP/IP协议,在第二选项卡中&lt;span style="color: #ff0000;"&gt;IPALL里面&lt;/span&gt;输入SQL运行的端口就可以了(注意不能同时填写动态端口和静态端口,否则SQL下次将无法启动),修改完成后重新启动SQL服务即可生效.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="background-color: #ffff99;"&gt;4,修改端口后在连接发现仍然不能连接,原来还需要开启SQL2005的远程登陆服务.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="background-color: #ffff99;"&gt;　在Microsoft SQL Server 2005中默认的是不允许远程登录的，会出现【provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错】的错误，下面的方法可以打开：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="background-color: #ffff99;"&gt;配置工具-&amp;gt;sql server外围应用配置器-&amp;gt;服务和连接的外围应用配置器-&amp;gt;打开MSSQLSERVER节点下的Database Engine 节点,先择"远程连接",接下建议选择"同时使用TCP/IP和named pipes",确定后,重启数据库服务就可以。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="background-color: #ffff99;"&gt;5,远程登陆服务和端口都修改之后连接应该没有问题了吧,结果远程连接SQL2000的时候发现没有问题,但是连接SQL20005依然不行,在SQL2005的客户端连接工具里面需要输入你要连接的SQL服务,SQL2000的直接输入服务器的IP地址即可,那如何输入才能让客户端工具连接到SQL2005的服务呢?既然SQL2005修改了端口,那按照常规的录入格式应该是输入：ＩＰ地址＋冒号＋端口号应该就可以了．结果试了一下发现依然不行．后又修改了客户端的连接的默认端口，结果仍然不行．没办法了只有到网上ＧＯＯＧＬＥ了一翻，结果终于在一篇英文文章中找到了连接的方法，原来按照常规的格式录入是错误的，需要改成：ＩＰ地址＋逗号＋端口号才行．现在一试果然可以．然后在试着通过．ＮＥＴ程序访问看能否连接，结果都可以．&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="background-color: #ffff99;"&gt;总结：就是因为连接输入的格式错误就害得我弄了一天才找到办法，真是郁闷，不知道ＳＱＬ２００５为什么不用常规的方法，而要把冒号改成逗号连接．．．．．．&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #000000; background-color: #ffff99;"&gt;按上面 的操作还不行，试试将连接字符串中的server改成server=.\mssql9。mssql9是实例名，我用这个试成功了，但是IP+端口还是不行，后来发现是&amp;ldquo;&lt;span style="color: #ff0000;"&gt;IPALL里面&lt;/span&gt;输入SQL运行的端口&amp;rdquo;，我却弄成IP1和IP2里面去输入了。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;记录这四个命令：&lt;/p&gt;&lt;div style="background: #f3f3f3 0% 50%; margin: 5px 20px; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial; border: #cccccc 1px solid; padding: 5px;"&gt;&lt;p&gt;启动SQL Server默认实例的命令：&amp;ldquo;net start mssqlserver&amp;rdquo;。&lt;/p&gt;&lt;p&gt;停止SQL Server默认实例的命令：&amp;ldquo;net stop mssqlserver&amp;rdquo;。&lt;/p&gt;&lt;p&gt;暂停SQL Server默认实例的命令：&amp;ldquo;net pause mssqlserver&amp;rdquo;。&lt;/p&gt;&lt;p&gt;恢复SQL Server默认实例的命令：&amp;ldquo;net continue mssqlserver&amp;rdquo;。&lt;/p&gt;&lt;p&gt;说明：&lt;/p&gt;&lt;p&gt;一、如果要操作的是命名实例的话，只要将&amp;ldquo;MSSQL$实例名&amp;rdquo;代替&amp;ldquo;mssqlserver&amp;rdquo;即可。&lt;/p&gt;&lt;p&gt;二、如果要操作的服务器是默认实例的SQL代理的话，只要将&amp;ldquo;SQLSERVERAGENT&amp;rdquo;代替&amp;ldquo;mssqlserver&amp;rdquo;即可。&lt;/p&gt;&lt;p&gt;三、如果要操作的服务器是命令实例的SQL代理的话，只要将&amp;ldquo;SQLAgent$实例名&amp;rdquo;代替&amp;ldquo;mssqlserver&amp;rdquo;即可。&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/dooom/aggbug/2166862.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/dooom/archive/2011/09/04/2166862.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/dooom/archive/2011/04/06/2006694.html</id><title type="text">2011欧美地区市场行情概况</title><summary type="text">(中国电子商务研究中心讯)近日开展的一项欧美网络零售及热门产品市场趋势研究，研究结果显示，虽然亚洲和非洲等新兴市场的网络零售逐渐繁荣，但欧洲和北美依然是全球网购比例和网购频率最高的两个地区。美国网络零售综合在全球网络零售中居第一，英国是欧洲最大的在线零售市场。2010年欧美乃至全球三大类主流网购商品分别为，机票、旅游等预定业务的虚拟非实物类产品和服务；影音产品、书籍、软件等知识产权相关的虚拟及实物产品；服装、消费类电子等大众实物类产品。 欧美国家在网络零售市场占主导 调查显示，全球网购人数占网民总比例排名前十位的国家，欧美地区国家占八个名额：其中德国和英国并列第二位，第五位奥地利，第六位瑞士.</summary><published>2011-04-06T05:06:00Z</published><updated>2011-04-06T05:06:00Z</updated><author><name>clound</name><uri>http://www.cnblogs.com/dooom/</uri></author><link rel="alternate" href="http://www.cnblogs.com/dooom/archive/2011/04/06/2006694.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/dooom/archive/2011/04/06/2006694.html"/><content type="html">&lt;p&gt;&amp;nbsp;&amp;nbsp; (中国电子商务研究中心讯)近日开展的一项欧美网络零售及热门产品市场趋势研究，研究结果显示，虽然亚洲和非洲等新兴市场的网络零售逐渐繁荣，但欧洲和北美依然是全球网购比例和网购频率最高的两个地区。美国网络零售综合在全球网络零售中居第一，英国是欧洲最大的在线零售市场。2010年欧美乃至全球三大类主流网购商品分别为，机票、旅游等预定业务的虚拟非实物类产品和服务；影音产品、书籍、软件等知识产权相关的虚拟及实物产品；服装、消费类电子等大众实物类产品。&lt;/p&gt;&lt;p&gt;欧美国家在网络零售市场占主导&lt;/p&gt;&lt;p&gt;调查显示，全球网购人数占网民总比例排名前十位的国家，欧美地区国家占八个名额：其中德国和英国并列第二位，第五位奥地利，第六位瑞士(95%)，第七位捷克(95%)，第八位法国(94%)，第九位美国和第十位爱尔兰。而从网购频率来看，排名前十位的国家中，来自欧美地区的有：第二位的英国，第三位的瑞士，第四位的法国，第六位的德国，第七位的爱尔兰，第八位的奥地利，第九位的波兰和第十位的瑞典。总体看来，欧洲和北美是全球网购比例最高、网购最频繁的地区。&lt;/p&gt;&lt;p&gt;虽然近几年亚洲和非洲等新兴市场的网络零售飞速发展，然而，欧美国家凭借互联网的高普及率和高度发达的工业背景，仍然在网络零售业市场中称霸。有意开展海外在线零售的中国制造型企业还是应该将目光聚焦在欧美国家。&lt;/p&gt;&lt;p&gt;预计美国和西欧的网上零售业都有望在未来5年内呈两位数增长，其中，美国在线零售复合增长率(CAGR)将上涨10%，预计到2014年将达到$2490亿，将占到美国零售总额的8%，而在西欧，这一数字同期将增长11%，2014年将达到&amp;euro;1140亿。其中最大的三个市场英国、德国、法国的线上零售复合增长率将分别增加10%、9%及13%。&lt;/p&gt;&lt;p&gt;服装、家电及消费电子将成中国外贸B2C企业的希望&lt;/p&gt;&lt;p&gt;研究指出，书籍(books)和服饰鞋类(clothing/accessories/shoes)仍将持续成为全球线上消费的重心，在消费者未来六个月计划在线购买的产品调查中书籍占44%，服饰鞋类占36%，其中有1/3的消费者表示会在纯网络零售商(如Amazon.com)处购买商品。&lt;/p&gt;&lt;p&gt;在美国网络零售的三个主要产品类别是：服装、鞋类及配饰(apparel, footwear, and accessories)，消费电子(consumer electronics)，以及电脑硬件、软件及关联设备(computer hardware, software, and peripherals)，这三类占到了美国网络零售总额的40%以上。而西欧的三大网购产品种类分别为：书籍(books)，活动门票(event tickets)以及服装(clothing)。&lt;/p&gt;&lt;p&gt;服装市场方面，线上服装零售在很多国家已进入成熟阶段。服装是英国和美国发展最快的网上零售产品类别，全球服装进口最大的五个市场分别是：美国、德国、日本、英国和法国。而欧洲五大成衣销售市场包括：法国、德国、意大利、西班牙和英国。&lt;/p&gt;&lt;p&gt;在英国，品牌零售商们成为整个服装市场的主导，他们是垂直整合(vertically integrated)的商业个体，拥有自主的设计、生产线、进口和市场营销体系，以及通过门店和网络等渠道直接与购物者互动。较经典的案例就是英国最大的鞋商C&amp;amp;J Clark (Clarks)，它拥有自己的垂直整合体系，自行制造并通过自营门店，网络以及特许经销店等方式完成零售业务。&lt;/p&gt;&lt;p&gt;消费类电子市场方面，研究发现在北美地区，便携式电脑(laptop)、上网本(netbooks)及手机(cell phones)增长迅速，这些增长的驱动力主要来自于个性化(personalization)、灵活性(mobility)和连通性(connectivity)。在欧洲，LED显示器(LED displays, +256%)、OLED显示器(OLED displays, +236%)、以太网激活电视(Ethernet-enabled TVs, +129%)、电子书阅读器等将成为今年增长最快的产品，推动这一增长的动力主要来自于其关键产品群(key product group)&amp;mdash;&amp;mdash;纯平电视(flat-TV)，欧洲大多数国家的消费者都有将老旧的显像管电视(CRT-TV)更换成新一代纯平电视的强烈需求，这一比重高达40%。此外，欧洲有超过1.8亿台家用电器(household appliances)使用年龄已超过使用年限，甚至达10年之久，因此，新节能电器(new energy saving appliances)也将有巨大的市场潜力。&lt;/p&gt;&lt;p&gt;中国是服装、电子产品制造及出口大国，许多优秀的中国制造企业生产的产品既有质量优势又具有价格优势，而海外市场也存在着大量的产品需求，只是苦于渠道阻碍无法直接接触海外消费者。现在互联网为中国出口制造企业与海外消费终端之间搭建起了便捷的桥梁，通过B2C模式与海外消费者建立直接联系，并通过符合产品特性及海外消费者习惯的营销方式进行推广逐步建立品牌知名度和美誉度。&lt;/p&gt;&lt;p&gt;另外，开展外贸B2C的重点是要了解目标市场，四海商舟此次联合欧美互联网经济研究中心开展的研究目的在于帮助中国企业了解海外消费需求，为企业的产品营销策略提供可靠的参考依据，使中国企业能够找准切入点，迅速打开国际市场。（编选：中国电子商务研究中心）&lt;/p&gt;&lt;img src="http://www.cnblogs.com/dooom/aggbug/2006694.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/dooom/archive/2011/04/06/2006694.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/dooom/archive/2011/02/28/1967384.html</id><title type="text">NVelocity  经验</title><summary type="text">这几天在结合NVelocity做一个UI模版定制，在cs中put的数据是变化的，我主要是通过一个xml文件来配置后台输出的数据，通过反射调用该接口方法来实现输出。 在UI 中有几个小经验。 1.输出辅助类 后台put出的结果集往往需要一个辅助类进一步处理，比如字符串截取等。 可以通过如下方法实现： th.Put("helper", new NameUrl()); UI调用： $helper.FilterUrl($ProductName,"-")2.调用的时候字符串连接的处理 #foreach($item in $BottomSiteInfoList)&amp;l</summary><published>2011-02-28T11:16:00Z</published><updated>2011-02-28T11:16:00Z</updated><author><name>clound</name><uri>http://www.cnblogs.com/dooom/</uri></author><link rel="alternate" href="http://www.cnblogs.com/dooom/archive/2011/02/28/1967384.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/dooom/archive/2011/02/28/1967384.html"/><content type="html">&lt;p&gt;&amp;nbsp; &amp;nbsp;这几天在结合NVelocity做一个UI模版定制，在cs中put的数据是变化的，我主要是通过一个xml文件来配置后台输出的数据，通过反射调用该接口方法来实现输出。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp; 在UI 中有几个小经验。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp; 1.输出辅助类&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp; 后台put出的结果集往往需要一个辅助类进一步处理，比如字符串截取等。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp; 可以通过如下方法实现：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;  th.Put("helper", new NameUrl());&lt;br/&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp; &lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp; UI调用： &lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;$helper.FilterUrl($ProductName,"-")&lt;/div&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;2.调用的时候字符串连接的处理&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp; &lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;#foreach($item in $BottomSiteInfoList)&lt;br/&gt;&amp;lt;a href="${helper.FilterUrl($item.InfoTitle,"-")}.html" title='$item.InfoTitle' &amp;gt;$item.InfoTitle&amp;lt;/a&amp;gt;&amp;nbsp;::&amp;nbsp;&lt;br/&gt;#end&lt;/div&gt;&lt;p&gt;&amp;nbsp; 3.foreach中循环判断&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp; &lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;#foreach($item in $TopNumTagList)&lt;br/&gt; #if ($item.isBlod=="1")&lt;br/&gt;&amp;lt;strong&amp;gt;&amp;lt;a href="popular/$helper.FilterUrl($item.HotTag,"-")/"&amp;gt;$item.HotTag&amp;lt;/a&amp;gt;&amp;lt;/strong&amp;gt;,&lt;br/&gt;#else&lt;br/&gt;&amp;lt;a href="popular/$helper.FilterUrl($item.HotTag,"-")/"&amp;gt;$item.HotTag&amp;lt;/a&amp;gt;,&lt;br/&gt;#end      &lt;br/&gt;#end&lt;br/&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt;&lt;img src="http://www.cnblogs.com/dooom/aggbug/1967384.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/dooom/archive/2011/02/28/1967384.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/dooom/archive/2011/02/26/1966056.html</id><title type="text">面试小记</title><summary type="text">老板不给力，准备换个新环境，面试了几个公司，谈谈感受。 先讲讲面试题吧，其实都不难，很基础的比如页面传值，cookie与session区别。高级点的就是页面生命周期，IIS 生命周期，设计模式。当然也会问一些有趣的，比如MVC有什么劣势，一位技术经理问我在什么情况下视图的数据会被更改。当时楞了一下，其实表结构变化了，视图的数据就会更改。原来用Oracle的项目表结构一更改，所有的视图与函数、过程设计总是报错，都需要重新执行下。从这应该可以联想到。 另一个体会就是面试的时候要自信、真诚。如果有不懂的就直接和别人交流。其实做技术的都很简单，别忽悠人。 最后有拿到offer，不过待遇都不是很满意，.</summary><published>2011-02-26T15:28:00Z</published><updated>2011-02-26T15:28:00Z</updated><author><name>clound</name><uri>http://www.cnblogs.com/dooom/</uri></author><link rel="alternate" href="http://www.cnblogs.com/dooom/archive/2011/02/26/1966056.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/dooom/archive/2011/02/26/1966056.html"/><content type="html">&lt;p&gt;&amp;nbsp;&amp;nbsp; 老板不给力，准备换个新环境，面试了几个公司，谈谈感受。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp; 先讲讲面试题吧，其实都不难，很基础的比如页面传值，cookie与session区别。高级点的就是页面生命周期，IIS 生命周期，设计模式。当然也会问一些有趣的，比如MVC有什么劣势，一位技术经理问我在什么情况下视图的数据会被更改。当时楞了一下，其实表结构变化了，视图的数据就会更改。原来用Oracle的项目表结构一更改，所有的视图与函数、过程设计总是报错，都需要重新执行下。从这应该可以联想到。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp; 另一个体会就是面试的时候要自信、真诚。如果有不懂的就直接和别人交流。其实做技术的都很简单，别忽悠人。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp; 最后有拿到offer，不过待遇都不是很满意，路漫漫其修远兮，吾将上下而求索。加油!&lt;/p&gt;&lt;img src="http://www.cnblogs.com/dooom/aggbug/1966056.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/dooom/archive/2011/02/26/1966056.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/dooom/archive/2011/02/19/1958536.html</id><title type="text">godaddy优惠码大全-2011骂godaddy最新优惠码</title><summary type="text">2011元旦特别优惠# 25% off first order for new GoDaddy.com customers:Promo code - cjc25NEW新用户购买所有产品优惠25%. 有效期至1月3号1.Godaddy主机优惠码（通用）优惠券: cjchost20购买所有主机产品优惠20%.（独立主机例外）有效期至: 2008年9月20号优惠券: cjcophst20购买Unlimited Hosting 方案特殊优惠码&amp;lt;1年方案 $9.99/月, 2-年方案$6.29/月,3年方案$4.79/月&amp;gt;优惠券: cjcshare20购买所有主机产品优惠20</summary><published>2011-02-19T07:32:00Z</published><updated>2011-02-19T07:32:00Z</updated><author><name>clound</name><uri>http://www.cnblogs.com/dooom/</uri></author><link rel="alternate" href="http://www.cnblogs.com/dooom/archive/2011/02/19/1958536.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/dooom/archive/2011/02/19/1958536.html"/><content type="html">&lt;p&gt;&lt;strong&gt;&lt;span style="color: #ff0000;"&gt;2011元旦特别优惠&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="color: #ff0000;"&gt;# 25% off first order for new GoDaddy.com customers:&lt;br /&gt;Promo code - cjc25NEW&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt;&lt;strong&gt;新用户购买所有产品优惠25%. &lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt;&lt;strong&gt;有效期至1月3号&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1.Godaddy主机优惠码（通用）&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;优惠券: &lt;strong&gt;&lt;span style="color: #0000ff;"&gt;cjchost20&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;购买所有主机产品优惠20%.&amp;nbsp;&amp;nbsp;（独立主机例外）&lt;br /&gt;有效期至: 2008年9月20号&lt;br /&gt;&lt;br /&gt;优惠券: &lt;strong&gt;cjcophst20&lt;/strong&gt;&lt;br /&gt;购买Unlimited Hosting 方案特殊优惠码&amp;amp;lt;1年方案 $9.99/月, 2-年方案$6.29/月,3年方案$4.79/月&amp;amp;gt;&lt;br /&gt;&lt;br /&gt;优惠券: &lt;strong&gt;&lt;span style="color: #0000ff;"&gt;cjcshare20&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;购买所有主机产品优惠20%.&amp;nbsp;&amp;nbsp;（仅虚拟主机适用）&lt;br /&gt;有效期: 无限制&lt;br /&gt;&lt;br /&gt;优惠券：&lt;span style="color: #0000ff;"&gt;&lt;strong&gt;cjchost11&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;购买D方案花E方案的钱（Deluxe方案最优惠）&lt;br /&gt;有效期：2011.2.10&lt;br /&gt;&lt;br /&gt;优惠券：&lt;strong&gt;&lt;span style="color: #0000ff;"&gt;cjc20off75&lt;/span&gt;&lt;/strong&gt;&amp;nbsp;&amp;nbsp;&lt;br /&gt;购买75美元及以上可以优惠20美元&lt;br /&gt;有效期至: 2008年9月20号&lt;br /&gt;&lt;br /&gt;优惠券：&lt;strong&gt;&lt;span style="color: #0000ff;"&gt;cjc20hun&lt;/span&gt;&lt;/strong&gt;&amp;nbsp;&amp;nbsp;&lt;br /&gt;购买100美元及以上可以优惠20美元&lt;br /&gt;有效期: 无限制&lt;br /&gt;&lt;br /&gt;优惠码: &lt;strong&gt;&lt;span style="color: #0000ff;"&gt;cjctenoff&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;购买50美元及以上商品使用此优惠码可以优惠10美元&lt;br /&gt;有效期：无限制&lt;br /&gt;&lt;br /&gt;优惠码: &lt;strong&gt;&lt;span style="color: #0000ff;"&gt;cjcsave&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;购买30美元及以上商品使用此优惠码可以优惠 5 美元&lt;br /&gt;有效期：无限制&lt;br /&gt;&lt;br /&gt;优惠码：&lt;strong&gt;&lt;span style="color: #0000ff;"&gt;cjcdeal&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;购买75美元以上优惠15%&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;优惠码:&lt;span style="color: #0000ff;"&gt;&lt;strong&gt;cjcdollar&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;优惠一美元，域名续费和org域名注册除外。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;优惠码: &lt;span style="color: #0000ff;"&gt;&lt;strong&gt;cjcfat75&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;消费75美金或以上者，优惠15%。&lt;br /&gt;&lt;br /&gt;优惠码:&lt;span style="color: #0000ff;"&gt;&lt;strong&gt;cjc4Udom&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;COM域名注册 $7.49 &lt;br /&gt;&lt;br /&gt;优惠码: &lt;strong&gt;cjc4U75&lt;/strong&gt;&lt;br /&gt;消费75美金或以上者，优惠15%。&lt;br /&gt;&lt;br /&gt;优惠码: &lt;strong&gt;cjcfat50&lt;/strong&gt;&lt;br /&gt;消费50美金或以上者，优惠$10。&lt;br /&gt;&lt;br /&gt;优惠码: &lt;strong&gt;cjcrebone&lt;/strong&gt;&lt;br /&gt;消费主机优惠$1。&lt;br /&gt;&lt;br /&gt;优惠码: &lt;strong&gt;cjcbrde20h&lt;/strong&gt;&lt;br /&gt;消费共享主机，优惠20%。&lt;br /&gt;&lt;br /&gt;优惠码: &lt;strong&gt;cjccab10&lt;/strong&gt;&lt;br /&gt;消费优惠10%。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2.Godaddy域名注册优惠码&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;优惠码: &lt;strong&gt;&lt;span style="color: #0000ff;"&gt;cjc695dom&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/strong&gt;&lt;span style="color: #0000ff;"&gt;&lt;strong&gt;cjc749dom&lt;/strong&gt;&lt;/span&gt;&amp;nbsp; &amp;nbsp; &lt;strong&gt;cjc749chp&lt;/strong&gt;&lt;br /&gt;说明: $7.49 .COM 注册 &lt;br /&gt;有效期: N/A&lt;br /&gt;&lt;br /&gt;优惠码: &lt;strong&gt;&lt;span style="color: #0000ff;"&gt;cjctld749&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;说明: $7.49 .NET 注册 &lt;br /&gt;有效期: N/A&lt;br /&gt;&lt;br /&gt;优惠码: &lt;strong&gt;&lt;span style="color: #0000ff;"&gt;cjctld749&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;说明: $7.49 .ORG 注册 &lt;br /&gt;有效期: N/A&lt;br /&gt;&lt;br /&gt;优惠码: &lt;strong&gt;&lt;span style="color: #0000ff;"&gt;cjcUS349&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;说明: $3.49 .US 注册 &lt;br /&gt;有效期: N/A&lt;br /&gt;&lt;br /&gt;Godaddy免费隐私保护优惠码：&lt;strong&gt;&lt;span style="color: #0000ff;"&gt;cjcPRIVATE&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;说明：注册域名可以获得免费的隐私保护，因为多个优惠码不能通用，只能用原价注册才行。&lt;br /&gt;有效期：已经失效&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3. &lt;/strong&gt;&lt;span style="color: #0000ff;"&gt;&lt;strong&gt;SSL证书12.99美元每年优惠地址，点击下面的链接进入查看&lt;/strong&gt;&lt;/span&gt;&lt;strong&gt;：&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;4.Godaddy VPS 独立主机优惠码。&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;cjcvps20&lt;/strong&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;购买VPS优惠20%&lt;br /&gt;&lt;strong&gt;cjcded20 &lt;/strong&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;购买独立主机优惠20%&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;5.Godaddy SSL购买优惠码&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;cjcssl12t2 &lt;/strong&gt;节省50% 在ssl购买时&lt;/p&gt;&lt;img src="http://www.cnblogs.com/dooom/aggbug/1958536.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/dooom/archive/2011/02/19/1958536.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/dooom/archive/2011/02/19/1958532.html</id><title type="text">图文讲解如何在godaddy注册的域名如何修改DNS指向  转载</title><summary type="text">图文介绍如何实现godaddy 域名解析。</summary><published>2011-02-19T07:28:00Z</published><updated>2011-02-19T07:28:00Z</updated><author><name>clound</name><uri>http://www.cnblogs.com/dooom/</uri></author><link rel="alternate" href="http://www.cnblogs.com/dooom/archive/2011/02/19/1958532.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/dooom/archive/2011/02/19/1958532.html"/><content type="html">先登陆godaddy&amp;nbsp; &lt;a target="_blank" href="http://www.godaddy.com/"&gt;&lt;span color="#000000" style="color: #000000;"&gt;http://www.godaddy.com&lt;/span&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp; 输入用户名 密码&amp;nbsp;&lt;p&gt;登陆后点击右上角的 my account&amp;nbsp; &lt;a href="http://images.cnblogs.com/cnblogs_com/naniannayue/WindowsLiveWriter/api_90AD/image_2.png"&gt;&lt;img border="0" width="405" src="http://images.cnblogs.com/cnblogs_com/naniannayue/WindowsLiveWriter/api_90AD/image_thumb.png" alt="image" height="141" style="display: inline; border-width: 0px;" title="image" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;因为我们仅仅是需要对在godaddy注册的域名修改域名指向，那么点击左侧的域名管理&lt;/p&gt;&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/naniannayue/WindowsLiveWriter/api_90AD/image_4.png"&gt;&lt;img border="0" width="240" src="http://images.cnblogs.com/cnblogs_com/naniannayue/WindowsLiveWriter/api_90AD/image_thumb_1.png" alt="image" height="212" style="display: inline; border-width: 0px;" title="image" /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 会弹出一个新的页面，这个页面就是用来管理您的域名的&lt;/p&gt;&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/naniannayue/WindowsLiveWriter/api_90AD/image_6.png"&gt;&lt;img border="0" width="582" src="http://images.cnblogs.com/cnblogs_com/naniannayue/WindowsLiveWriter/api_90AD/image_thumb_2.png" alt="image" height="295" style="display: inline; border-width: 0px;" title="image" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;点击您要修改DNS域名指向的域名&lt;/p&gt;&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/naniannayue/WindowsLiveWriter/api_90AD/image_8.png"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="http://pic002.cnblogs.com/images/2011/43471/2011021915263855.png" /&gt;&lt;/p&gt;&lt;p&gt;点击DNS Control&amp;nbsp; 进入域名解析&amp;nbsp; 修改A记录即可&lt;/p&gt;&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/naniannayue/WindowsLiveWriter/api_90AD/image_16.png"&gt;&lt;img border="0" width="306" src="http://images.cnblogs.com/cnblogs_com/naniannayue/WindowsLiveWriter/api_90AD/image_thumb_7.png" alt="image" height="83" style="display: inline; border-width: 0px;" title="image" /&gt;&lt;/a&gt;&amp;nbsp;&lt;a href="http://images.cnblogs.com/cnblogs_com/naniannayue/WindowsLiveWriter/api_90AD/image_20.png"&gt;&lt;img border="0" width="206" src="http://images.cnblogs.com/cnblogs_com/naniannayue/WindowsLiveWriter/api_90AD/image_thumb_9.png" alt="image" height="84" style="display: inline; border-width: 0px;" title="image" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;点击修改图标，输入您要指向的空间的IP地址。&lt;/p&gt;&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/naniannayue/WindowsLiveWriter/api_90AD/image_22.png"&gt;&lt;img border="0" width="350" src="http://images.cnblogs.com/cnblogs_com/naniannayue/WindowsLiveWriter/api_90AD/image_thumb_10.png" alt="image" height="291" style="display: inline; border-width: 0px;" title="image" /&gt;&lt;/a&gt;&amp;nbsp; &lt;/p&gt;&lt;p&gt;最后点击OK&amp;nbsp; 完成设置，一般godaddy的域名DNS修改还是很快的 半个小时左右就可以生效了，有时候几分钟也OK&lt;/p&gt;&lt;script type="text/javascript"&gt;&lt;/script&gt;&lt;img src="http://www.cnblogs.com/dooom/aggbug/1958532.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/dooom/archive/2011/02/19/1958532.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/dooom/archive/2011/02/15/1955242.html</id><title type="text">paypal、gspay、ECPSS、IPS、首信易、95epay外贸收款方式对比  网络摘录</title><summary type="text">一、paypal(www.paypal.com)通道都属于电子钱包交易模式，即买卖双方都需要有一个帐户才可以交易优点：（1）直接在官方网站上申请即可免费开通，收款容易，成功率在85%左右； （2）手续费随着交易量的增加可以申请降低； （3）有中文客服，支持信件以及电话答疑。缺点：（1）外国公司研发的，在中国很多种原因容易限制帐户； （2）不保护非BY卖家，客户争议总是保护买家的利益； （3）结算受外汇管制，个人每年最多提现5万美金。贝宝付款特点PayPal用户消费者（买家）利益大于PayPal用户卖家（商户）的利益。对于中国外贸和网络营销用户来说，PayPal可以算是最安全的付款工具，</summary><published>2011-02-15T07:12:00Z</published><updated>2011-02-15T07:12:00Z</updated><author><name>clound</name><uri>http://www.cnblogs.com/dooom/</uri></author><link rel="alternate" href="http://www.cnblogs.com/dooom/archive/2011/02/15/1955242.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/dooom/archive/2011/02/15/1955242.html"/><content type="html">&lt;p&gt;一、paypal(&lt;a target="_blank" href="http://www.paypal.com/"&gt;www.paypal.com&lt;/a&gt;)通道都属于电子钱包交易模式，即买卖双方都需要有一个帐户才可以交易&lt;br /&gt;优点：（1）直接在官方网站上申请即可免费开通，收款容易，成功率在85%左右；&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; （2）手续费随着交易量的增加可以申请降低；&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; （3）有中文客服，支持信件以及电话答疑。&lt;br /&gt;缺点：（1）外国公司研发的，在中国很多种原因容易限制帐户；&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; （2）不保护非BY卖家，客户争议总是保护买家的利益；&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; （3）结算受外汇管制，个人每年最多提现5万美金。&lt;/p&gt;&lt;div&gt;贝宝付款特点&lt;/div&gt;&lt;div&gt;PayPal用户消费者（买家）利益大于PayPal用户卖家（商户）的利益。对于中国外贸和网络营销用户来说，PayPal可以算是最安全的付款工具，对于买家的保护极为周到，可以让我们真正享受到美国信用卡那种安全的无风险的消费。对于任何一笔交易，如果用户投诉商品未接收到，PayPal通常会把钱直接打回到用户帐户中，因此中国用户使用PayPal在一些不太了解的国外网站进行交易，中国消费者的权益和安全就得到了全面的保障，再有乱扣款的情况，直接去投诉就能要回钱来。PayPal的这种机制对于卖家来说要求相当严格，只要有人投诉，卖家的账号很可能被冻结。&lt;/div&gt;&lt;div&gt;另外，和信用卡相比，PayPal 保证了信息的安全和个人隐私。在线付款时，不用将银行卡或银行帐户的详细信息透露给他人。对于商家的付款甚至可以不用泄露自己的PayPal帐号地址。&lt;/div&gt;&lt;div&gt;因此，对于网络营销或者购买国外域名、虚拟主机等等服务，建议使用PayPal进行支付，以保证安全。&lt;/div&gt;&lt;div&gt;注册PayPal是完全免费的，如果你还没有注册PayPal，可以点这里注册。&lt;/div&gt;&lt;div&gt;贝宝收款特点&lt;/div&gt;&lt;div&gt;用PayPal收款，对于卖家来说，使用起来也是非常安全的，卖家的财务信息是绝对保密，不会透漏给买家。并且大多数美国人都喜欢使用PayPal进行付款，提交了交易的成功率。&lt;/div&gt;&lt;div&gt;但正如上面所说的，PayPal着重保护消费者（买家）的利益，因此使用PayPal收款的缺点是账户很容易被冻结，这带来生意上的一定风险，更有甚者，有一些不良买家针对PayPal这种特点，对商家进行恶意和无理的投诉，通常商家为了避免更大的损失，往往会做出让步，这些无理的投诉会使得商家利益不断受到损失。&lt;/div&gt;&lt;div&gt;因此，使用PayPal收款，要先严格要求自己，做生意一定要讲求诚信，并将个人诚信放在首位，在交易过程中注意保留原始凭证单据（例如发货单、运单号），万一发生国外客户撤款，可以向Paypal公司申诉，可以将相关单据上传给PayPal进行调解，以证明自己已履行发货的义务，以避免遭受不必要的损失。&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 综合以上情况考虑，对于国际在线支付的各种方式，业务量较大的时候，建议使用一些专业的代理进行收款，虽然代理机构会收取较高的手续费，但资金可以保证安全，通常不会对业务资金的周转产生较大的影响。从付款安全方面来说，在中国的环境下，使用PayPal无疑是首选，信用卡其次。收款方式来说，业务量不大，也可以使用PayPal，但有不少风险。&lt;/p&gt;&lt;p&gt;二、GSPAY (&lt;a target="_blank" href="http://www.gspay.com/"&gt;www.gspay.com&lt;/a&gt; )主要面向公司开放（进入大陆市场不到一年）&lt;br /&gt;优点：（1）无开户费和年服务费。直接在官方网站上申请即可开通；&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; （2）可以设定结算金额，最低为4000美元，并且按一个礼拜的交易额结算；&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; （3）账户提供每个礼拜的交易报表，清晰记录账户交易情况；&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; （4）有3名中文客服答疑解惑，也可以在账户后台咨询GSPAY各个部门；&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; （5）成功支付率达到70%；&lt;br /&gt;缺点：（1）手续费偏高：9.5%+1美元，退款不返还手续费；&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; （2）不受理拒付申诉，拒付罚35美金。拒付率过高将收取100美元/笔的罚金；&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; （3）据说GSPAY服务器不稳定，去年有1个月的时间账户登陆不了，客服不见踪迹；&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; （4）外国通道，资金不安全；&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; （5）结算的手续费很高，GSPAY收取40美元的电汇费后，中转行还另外收取79美元的费用。&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;适合交易量小的一些刚起步的商户&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;评价：简直是帮他们赚钱。&lt;br /&gt;三、95epay (&lt;a target="_blank" href="http://www.95epay.com/"&gt;www.95epay.com&lt;/a&gt;)&lt;br /&gt;95epay的优势：&lt;br /&gt;前提：老外买家持有visa 或者 master 信用卡，商家接入95epay在线支付通道&lt;br /&gt;1． 老外在商家的网站上支付时，在95epay信用卡支付接口中输入他的信用卡信息&lt;br /&gt;2． 此信息经支付通道传输到银行，银行确认信息后，反馈给支付通道&lt;br /&gt;3． 支付通道进一步确认信息的真实有效，反馈信息给商家，老外支付成功&lt;br /&gt;4． 商家根据老外留下的信息，及时发货，并提交快递的单据给95epay&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5． 货物到达后，老外签收，交易成功&lt;br /&gt;6． 老外签收后，95epay跟商家结算货款&lt;br /&gt;优点：1. 迎合老外买家的消费习惯，使支付更方便&lt;br /&gt;2. 用的是银行信用，保证买卖双方的利益&lt;br /&gt;3. 老外恶意拒付的话，会在银行有记录，影响他的一生.&lt;br /&gt;4. 提现方便，只需要提供一张国内借记卡，轻松提现.&lt;br /&gt;缺点：通道维护费用高，单笔交易手续费比paypal也高&lt;br /&gt;综上所述：95epay优于paypal的地方是：1. 持有visa、master卡的人比有paypal帐户的人多，扩大了商家的客户群体，增大交易量，提高销售业绩，2. 95epays更加迎合老外客户的消费习惯，使支付变的更方便&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; 比较适合有一定实力的公司或个人使用。需要年费。又被成为双乾支付。&lt;/p&gt;&lt;p&gt;四、IPS环迅 &lt;br /&gt;开户费：14000元，10%的交易保障金，手续费：每笔交易的3.5%，另外限额的10倍保证金比较吓 人，比如说最大单笔交易额度是500美金，那么这个保障金就是5000美金，非3D不对个人开放，个人申请开通比较麻烦，不过支持JCB卡，拒付不罚款，拒付达到限额会关闭帐户。&lt;br /&gt;目前环迅主要业务是国内服务&lt;br /&gt;开通必须以公司名义签约，在前3个月有考核期，并且在申请对私人结算之前只能对公结算，即卖家还要承担税费；IPS环迅(&lt;a target="_blank" href="http://www.ips.com.cn/"&gt;www.ips.com.cn&lt;/a&gt;)&lt;br /&gt;比较适合做正品的公司或个人使用&lt;br /&gt;&lt;br /&gt;五、首信易 （面向公司开放）&lt;br /&gt;1.2001年成立，银行注册备案的方式开通。主要业务不是外卡收单&lt;br /&gt;2.3D对个人和企业开放，开户费2000元，年服务费4000元。手续费：3.7%。每笔交易额10%做为保证金，180天后滚动返还。理论支付成功概率30%左右，收款无限制。&lt;br /&gt;3．非3D只针对企业开放。开户费2000元，年服务费4000元，2w以上的开户保证金。手续费：4.2%，每笔交易额的15%作为交易保证金，理论支付成功率70%左右。120天滚动返还。收款有限额：第一个月收款总额不得超过10w人民币。第二个月收款总额不得超过20w人民币。第三个月收款总额不得超过30w人民币。之后可以申请增加。&lt;br /&gt;4.非3D通道拒付率达1%警告处理，2%关闭账户。首信易(&lt;a target="_blank" href="http://www.beijing.com.cn/"&gt;www.beijing.com.cn&lt;/a&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp; 比较适合做正品的公司或个人使用&lt;/p&gt;核心提示：&lt;span style="font-size: 12px;"&gt;&lt;span style="font-size: 14px;"&gt;&lt;span color="#993366" style="color: #993366;"&gt;&lt;strong&gt;3D与非3D的面向地区.3d主要为亚洲地区.而非3d主要为欧美地区.所以如果是做欧美生意建议&lt;span color="#0000ff" style="color: #0000ff;"&gt;使用95epay&lt;/span&gt;.&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-size: 12px;"&gt;&lt;span style="font-size: 14px;"&gt;&lt;span color="#993366" style="color: #993366;"&gt;&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt; 目前,在广大外贸生意中,谈论最多的话题应当是&lt;/span&gt;&lt;span color="#993366" style="color: #993366;"&gt;在线收款,在线支付&lt;/span&gt;&lt;span color="#993366" style="color: #993366;"&gt;问题了.的确,网店做起来了,生意再好,订单再多,总是需要涉及到收款问题.而目前国内的支付公司也是非常多,象首信易,NPS,95epay,IPS等等,那么我们该如何去选择合适的支付公司呢?&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div&gt;&lt;p&gt;&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;/p&gt;&lt;table border="1" width="760" cellpadding="1" cellspacing="1" style="width: 760px; height: 280px;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;第三方支付公司&lt;/td&gt;&lt;td colspan="2" style="text-align: center;"&gt;通道名称&lt;/td&gt;&lt;td colspan="2" style="text-align: center;"&gt;年费和开户费用&lt;/td&gt;&lt;td style="text-align: center;"&gt;手续费&lt;/td&gt;&lt;td&gt;保证金&lt;/td&gt;&lt;td style="text-align: center;"&gt;优点&lt;/td&gt;&lt;td style="text-align: center;"&gt;缺点&lt;/td&gt;&lt;td&gt;适用人群&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;span color="#000000" style="color: #000000;"&gt;&lt;strong&gt;首信易&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2"&gt;3D&lt;/td&gt;&lt;td colspan="2"&gt;6000-8000元&lt;/td&gt;&lt;td style="text-align: right;"&gt;3.7%-4.2%&lt;/td&gt;&lt;td&gt;10%&lt;/td&gt;&lt;td&gt;公司实力不错,也与一些平台合作.&lt;/td&gt;&lt;td&gt;只对公司开放,一个接口只能接一个网站,不支持虚拟交易.不接仿牌商户&lt;/td&gt;&lt;td&gt;公司&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;span color="#000000" style="color: #000000;"&gt;&lt;strong&gt;NPS&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2"&gt;3D&lt;/td&gt;&lt;td colspan="2"&gt;5000-8000元&lt;/td&gt;&lt;td&gt;&lt;div align="center"&gt;4%&lt;/div&gt;&lt;/td&gt;&lt;td&gt;10%&lt;/td&gt;&lt;td&gt;深圳公司,一个通道可以同时接3个网站.支持仿牌&lt;/td&gt;&lt;td&gt;只有VISA卡的通道.不支持Master卡,不支持虚拟交易,不能实现部分信用卡退款&lt;/td&gt;&lt;td&gt;公司&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;span color="#000000" style="color: #000000;"&gt;&lt;strong&gt;IPS&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2"&gt;3D&lt;/td&gt;&lt;td colspan="2"&gt;11500元&lt;/td&gt;&lt;td&gt;3.5%-4%&lt;/td&gt;&lt;td&gt;10倍&lt;/td&gt;&lt;td&gt;老牌公司,实力很强.与很多大型航空公司都有合作.&lt;/td&gt;&lt;td&gt;保证金太高,单笔交易最高金额的10倍,不支持虚拟交易.不针对个人开通,公司开通门槛高.不接受仿牌&lt;/td&gt;&lt;td&gt;公司个人&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;span color="#000000" style="color: #000000;"&gt;&lt;strong&gt;95epay&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;非3D&lt;/p&gt;&lt;p&gt;铂金&lt;/p&gt;&lt;/td&gt;&lt;td&gt;3D&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;/td&gt;&lt;td&gt;8000元&lt;/td&gt;&lt;td&gt;3000元&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt; 6%&lt;/td&gt;&lt;td&gt;10%&lt;/td&gt;&lt;td&gt;非3D铂金成功率90%以上，可接商户和商家，一个通道可以同时接3个网站.&lt;/td&gt;&lt;td&gt;手续费相对比较高.对于新商户结算时间有点长,第一次需要45天,以后是25天.&lt;/td&gt;&lt;td colspan="2"&gt;公司个人&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;/td&gt;&lt;td colspan="2"&gt;&lt;/td&gt;&lt;td colspan="2"&gt;&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&amp;nbsp;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;wbr&gt;&lt;/wbr&gt;综合了上表,我们不难看出,支付公司都差不多,但是你必须要选择最适合你的收款方式. 如何选择?&lt;/p&gt;&lt;p&gt;我们来分析下：&lt;/p&gt;&lt;p&gt;&lt;span color="#ff0000" style="color: #ff0000;"&gt;如果你是面向欧美市场.那么你首选为95epay&lt;/span&gt;&lt;/p&gt;&lt;p&gt;1.当你拥有多个外贸网店时，就可以选择&lt;strong&gt;95epay&lt;/strong&gt;和 NPS。因为&lt;strong&gt;95epay&lt;/strong&gt;和NPS 都可以同时连接多个站点。&lt;/p&gt;&lt;p&gt;2.如果你是做仿牌收款的，你可以选择&lt;strong&gt;&lt;strong&gt;95epa&lt;/strong&gt;y&lt;/strong&gt;，NPS，首信易，Gspay&lt;/p&gt;&lt;p&gt;3.如果你开始不想投资很多，你可以选择 Gspay&lt;/p&gt;&lt;p&gt;4.如果你准备长期收款，交易笔数多，你可以选择&lt;strong&gt;95epay&lt;/strong&gt;,NPS, 首信易，IPS&lt;/p&gt;&lt;p&gt;另外，在选择支付公司时候，最好让对方拿出案列和数据你看下。案列以及支付流程是最好的证明，作为95epay公司的一员，也不会强烈要求客户去选择95epay，只是帮大家一起分析下，至于选择哪家公司，是看您自己决定的。&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;外贸支付接口 GOOGLE CHECKOUT&lt;/strong&gt;,是一种在国外很流行的&lt;strong&gt;支付与收款平台&lt;/strong&gt;。&lt;/p&gt;&lt;p&gt;　Google Checkout服务类似易趣的贝宝（PayPal），网上零售商将Checkout系统整合到自己的支付平台，在线购买者可以通过它实现安全付款。完成每次支付后，Google Checkout向商家收取0.20美元的手续费以及交易商品价格2%的费用。目前，美国超过90％的零售商注册了google checkout服务。在中国，Google checkout的用户群体主要集中于&lt;strong&gt;外贸行业&lt;/strong&gt;的个人及企业，当然也包括喜欢在国外买东西的人士。&lt;/p&gt;&lt;p&gt;GOOGLE CHECKOUT 只允许接收正品产品的汇款，不接收任何&lt;strong&gt;仿牌产品&lt;/strong&gt;的汇款服务。此点也跟PAYPAL很类似。Google checkout 只有商家账户才能收款提现，个人账户只能消费。&lt;/p&gt;&lt;p&gt;如做正品外贸产品的朋友，Google checkout收款方式是一个不错的选择，手续费低，也是相对于保障卖家这方的权利多些的。例如退款，拒付等，机率都相对少很多。&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt;&lt;img src="http://www.cnblogs.com/dooom/aggbug/1955242.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/dooom/archive/2011/02/15/1955242.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/dooom/archive/2011/02/14/1954166.html</id><title type="text">JS  闭包 学习笔记</title><summary type="text">闭包的两个特点：1、作为一个函数变量的一个引用 - 当函数返回时，其处于激活状态。2、一个闭包就是当一个函数返回时，一个没有释放资源的栈区。其实上面两点可以合成一点,就是闭包函数返回时,该函数内部变量处于激活状态,函数所在栈区依然保留.我们所熟知的主流语言,像C,java等,在函数内部只要执行了return,函数就会返回结果,然后内存中删除该函数所在的区域.生命周期也就停止了.一般的js函数也是这样.但是有闭包特性的js函数有点特殊.就例子来说:function a(){var i=0;function b(){alert(++i);}return b;}var c = a();c();这是个</summary><published>2011-02-14T03:23:00Z</published><updated>2011-02-14T03:23:00Z</updated><author><name>clound</name><uri>http://www.cnblogs.com/dooom/</uri></author><link rel="alternate" href="http://www.cnblogs.com/dooom/archive/2011/02/14/1954166.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/dooom/archive/2011/02/14/1954166.html"/><content type="html">&lt;p&gt;闭包的两个特点：&lt;br /&gt;1、作为一个函数变量的一个引用 - 当函数返回时，其处于激活状态。&lt;br /&gt;2、一个闭包就是当一个函数返回时，一个没有释放资源的栈区。&lt;br /&gt;其实上面两点可以合成一点,就是闭包函数返回时,该函数内部变量处于激活状态,函数所在栈区依然保留.&lt;br /&gt;我们所熟知的主流语言,像C,java等,在函数内部只要执行了return,函数就会返回结果,然后内存中删除该函数所在的区域.生命周期也就停止了.一般的js函数也是这样.&lt;/p&gt;&lt;p&gt;但是有闭包特性的js函数有点特殊.&lt;br /&gt;就例子来说:&lt;br /&gt;function a(){&lt;br /&gt;var i=0;&lt;br /&gt;function b(){&lt;br /&gt;alert(++i);&lt;br /&gt;}&lt;br /&gt;return b;&lt;br /&gt;}&lt;br /&gt;var c = a();&lt;br /&gt;c();&lt;br /&gt;&lt;br /&gt;这是个标准的闭包.在函数a中定义了函数b,a又return了b的值.这些可以先不管.&lt;br /&gt;var c = a();&lt;br /&gt;c();&lt;br /&gt;这两句执行很重要.&lt;br /&gt;在var c = a();这行里,执行了a函数,那么肯定a经过了return.按照主流语言的函数特性,现在c的值就是a的返回值.&lt;br /&gt;第二行c()的执行实际执行的就是b函数.最后不管执行的是谁,会弹出一个值为0的窗口,到此为止,所有的生命周期按理论来说就算全部结束了.&lt;br /&gt;可是,如果我们再多执行一行.&lt;br /&gt;var c = a();&lt;br /&gt;c();&lt;br /&gt;c();&lt;br /&gt;第一次弹出0，第二次执行却弹出了1.&lt;br /&gt;&lt;br /&gt;也就是说,第一次c()后,a中的i依然保留.自然a在内存的栈区依然保留.&lt;br /&gt;&lt;br /&gt;a是return过了,但是,a及内部值却依然存在,这就是闭包.&lt;br /&gt;&lt;br /&gt;好了,总结下,&lt;br /&gt;1，闭包外层是个函数.&lt;br /&gt;2，闭包内部都有函数.&lt;br /&gt;3，闭包会return内部函数.&lt;br /&gt;4，闭包返回的函数内部不能有return.(因为这样就真的结束了)&lt;br /&gt;5，执行闭包后,闭包内部变量会存在,而闭包内部函数的内部变量不会存在.&lt;/p&gt;&lt;img src="http://www.cnblogs.com/dooom/aggbug/1954166.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/dooom/archive/2011/02/14/1954166.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/dooom/archive/2011/02/14/1954111.html</id><title type="text">对象行为模式--策略模式</title><summary type="text">这段时间在项目中接触到了Strategy策略模式，所以就学习了一下，做一个总结。 Strategy策略模式是一种对象行为模式。主要是应对：在软件构建过程中，某些对象使用的算法可能多种多样，经常发生变化。如果在对象内部实现这些算法，将会使对象变得异常复杂，甚至会造成性能上的负担。 GoF《设计模式》中说道：定义一系列算法，把它们一个个封装起来，并且使它们可以相互替换。该模式使得算法可独立于它们的客户变化。 Strategy模式的结构图如下： 从图中我们不难看出：Strategy模式实际上就是将算法一一封装起来，如图上的ConcreteStrategyA、ConcreteStrategyB、Con</summary><published>2011-02-14T02:36:00Z</published><updated>2011-02-14T02:36:00Z</updated><author><name>clound</name><uri>http://www.cnblogs.com/dooom/</uri></author><link rel="alternate" href="http://www.cnblogs.com/dooom/archive/2011/02/14/1954111.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/dooom/archive/2011/02/14/1954111.html"/><content type="html">&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;这段时间在项目中接触到了&lt;/span&gt;&lt;span lang="EN-US"&gt;Strategy&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;策略模式，所以就学习了一下，做一个总结。&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Strategy&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;策略模式是一种对象行为模式。主要是应对：在软件构建过程中，某些对象使用的算法可能多种多样，经常发生变化。如果在对象内部实现这些算法，将会使对象变得异常复杂，甚至会造成性能上的负担。&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;GoF&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;《设计模式》中说道：定义一系列算法，把它们一个个封装起来，并且使它们可以相互替换。该模式使得算法可独立于它们的客户变化。&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Strategy&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;模式的结构图如下：&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;O:p&gt;&lt;br /&gt;&lt;/O:p&gt;&lt;/span&gt;&lt;p align="center" style="margin: 0cm 0cm 0pt; text-align: center;" class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;V:shapetype coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f" id="_x0000_t75"&gt;&lt;V:stroke joinstyle="miter"&gt;&lt;/V:stroke&gt;&lt;V:formulas&gt;&lt;V:f eqn="if lineDrawn pixelLineWidth 0"&gt;&lt;/V:f&gt;&lt;V:f eqn="sum @0 1 0"&gt;&lt;/V:f&gt;&lt;V:f eqn="sum 0 0 @1"&gt;&lt;/V:f&gt;&lt;V:f eqn="prod @2 1 2"&gt;&lt;/V:f&gt;&lt;V:f eqn="prod @3 21600 pixelWidth"&gt;&lt;/V:f&gt;&lt;V:f eqn="prod @3 21600 pixelHeight"&gt;&lt;/V:f&gt;&lt;V:f eqn="sum @0 0 1"&gt;&lt;/V:f&gt;&lt;V:f eqn="prod @6 1 2"&gt;&lt;/V:f&gt;&lt;V:f eqn="prod @7 21600 pixelWidth"&gt;&lt;/V:f&gt;&lt;V:f eqn="sum @8 21600 0"&gt;&lt;/V:f&gt;&lt;V:f eqn="prod @7 21600 pixelHeight"&gt;&lt;/V:f&gt;&lt;V:f eqn="sum @10 21600 0"&gt;&lt;/V:f&gt;&lt;/V:formulas&gt;&lt;V:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"&gt;&lt;/V:path&gt;&lt;O:lock v:ext="edit" aspectratio="t"&gt;&lt;/O:lock&gt;&lt;/V:shapetype&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;从图中我们不难看出：&lt;/span&gt;&lt;span lang="EN-US"&gt;Strategy&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;模式实际上就是将算法一一封装起来，如图上的&lt;/span&gt;&lt;span lang="EN-US"&gt;ConcreteStrategyA&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;、&lt;/span&gt;&lt;span lang="EN-US"&gt;ConcreteStrategyB&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;、&lt;/span&gt;&lt;span lang="EN-US"&gt;ConcreteStrategyC&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;，但是它们都继承于一个接口，这样在&lt;/span&gt;&lt;span lang="EN-US"&gt;Context&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;调用时就可以以多态的方式来实现对于不用算法的调用。&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Strategy&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;模式的实现如下：&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;我们现在来看一个场景：我在下班在回家的路上，可以有这几种选择，走路、骑车、坐车。首先，我们需要把算法抽象出来：&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes;" lang="EN-US"&gt;public&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes;" lang="EN-US"&gt; &lt;span style="color: blue;"&gt;interface&lt;/span&gt; &lt;span style="color: teal;"&gt;IStrategy&lt;O:p&gt;&lt;/O:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;O:p&gt;&lt;/O:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;void&lt;/span&gt; OnTheWay();&lt;O:p&gt;&lt;/O:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes;" lang="EN-US"&gt;}&lt;O:p&gt;&lt;/O:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes;"&gt;接下来，我们需要实现走路、骑车和坐车几种方式。&lt;span lang="EN-US"&gt;&lt;O:p&gt;&lt;/O:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="margin: 0cm 0cm 0pt; text-indent: 21pt; text-align: left; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes;" lang="EN-US"&gt;public&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes;" lang="EN-US"&gt; &lt;span style="color: blue;"&gt;class&lt;/span&gt; &lt;span style="color: teal;"&gt;WalkStrategy&lt;/span&gt; : &lt;span style="color: teal;"&gt;IStrategy&lt;O:p&gt;&lt;/O:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;O:p&gt;&lt;/O:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; OnTheWay()&lt;O:p&gt;&lt;/O:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;O:p&gt;&lt;/O:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: teal;"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: maroon;"&gt;"Walk on the road"&lt;/span&gt;);&lt;O:p&gt;&lt;/O:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;O:p&gt;&lt;/O:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;O:p&gt;&lt;/O:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes;" lang="EN-US"&gt;&lt;O:p&gt;&amp;nbsp;&lt;/O:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;class&lt;/span&gt; &lt;span style="color: teal;"&gt;RideBickStragtegy&lt;/span&gt; : &lt;span style="color: teal;"&gt;IStrategy&lt;O:p&gt;&lt;/O:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;O:p&gt;&lt;/O:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; OnTheWay()&lt;O:p&gt;&lt;/O:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;O:p&gt;&lt;/O:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: teal;"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: maroon;"&gt;"Ride the bicycle on the road"&lt;/span&gt;);&lt;O:p&gt;&lt;/O:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;O:p&gt;&lt;/O:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;O:p&gt;&lt;/O:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes;" lang="EN-US"&gt;&lt;O:p&gt;&amp;nbsp;&lt;/O:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;class&lt;/span&gt; &lt;span style="color: teal;"&gt;CarStragtegy&lt;/span&gt; : &lt;span style="color: teal;"&gt;IStrategy&lt;O:p&gt;&lt;/O:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;O:p&gt;&lt;/O:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; OnTheWay()&lt;O:p&gt;&lt;/O:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;O:p&gt;&lt;/O:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: teal;"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: maroon;"&gt;"Drive the car on the road"&lt;/span&gt;);&lt;O:p&gt;&lt;/O:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;O:p&gt;&lt;/O:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes;" lang="EN-US"&gt;}&lt;O:p&gt;&lt;/O:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;O:p&gt;&amp;nbsp;&lt;/O:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;最后再用客户端代码调用封装的算法接口，实现一个走路回家的场景：&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="margin: 0cm 0cm 0pt; text-indent: 20.25pt; text-align: left; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes;" lang="EN-US"&gt;class&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes;" lang="EN-US"&gt; &lt;span style="color: teal;"&gt;Program&lt;O:p&gt;&lt;/O:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;O:p&gt;&lt;/O:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;static&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; &lt;ST1:place w:st="on"&gt;Main&lt;/ST1:place&gt;(&lt;span style="color: blue;"&gt;string&lt;/span&gt;[] args)&lt;O:p&gt;&lt;/O:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;O:p&gt;&lt;/O:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: teal;"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: maroon;"&gt;"Arrive to home"&lt;/span&gt;);&lt;O:p&gt;&lt;/O:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: teal;"&gt;IStrategy&lt;/span&gt; strategy = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: teal;"&gt;WalkStrategy&lt;/span&gt;();&lt;O:p&gt;&lt;/O:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;strategy.OnTheWay();&lt;O:p&gt;&lt;/O:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: teal;"&gt;Console&lt;/span&gt;.Read();&lt;O:p&gt;&lt;/O:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;O:p&gt;&lt;/O:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes;" lang="EN-US"&gt;}&lt;O:p&gt;&lt;/O:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes;"&gt;运行结果如下；&lt;span lang="EN-US"&gt;&lt;O:p&gt;&lt;/O:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;Arrive to home&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;Walk on the road&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;如果我们需要实现其他的方法，只需要在&lt;/span&gt;&lt;span lang="EN-US"&gt;Context&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;改变一下&lt;/span&gt;&lt;span lang="EN-US"&gt;IStrategy&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;所示例化的对象就可以。&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;O:p&gt;&amp;nbsp;&lt;/O:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Strategy&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;模式的要点：&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;1&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;、&lt;/span&gt;&lt;span lang="EN-US"&gt;Strategy&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;及其子类为组件提供了一系列可重用的算法，从而可以使得类型在运行时方便地根据需要在各个算法之间进行切换。所谓封装算法，支持算法的变化。&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;2&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;、&lt;/span&gt;&lt;span lang="EN-US"&gt;Strategy&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;模式提供了用条件判断语句以外的另一中选择，消除条件判断语句，就是在解耦合。含有许多条件判断语句的代码通常都需要&lt;/span&gt;&lt;span lang="EN-US"&gt;Strategy&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;模式。&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;3&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;、&lt;/span&gt;&lt;span lang="EN-US"&gt;Strategy&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;模式已算法为中心，可以和&lt;/span&gt;&lt;span lang="EN-US"&gt;Factory Method&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;联合使用，在工厂中使用配制文件对变化的点进行动态的配置。这样就使变化放到了运行时。&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;4&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;、与&lt;/span&gt;&lt;span lang="EN-US"&gt;Template Method&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;相比，&lt;/span&gt;&lt;span lang="EN-US"&gt;Strategy&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;模式的中心跟集中在方法的封装上&lt;/span&gt;&lt;/p&gt;&lt;script type="text/javascript"&gt;&lt;/script&gt;&lt;/p&gt;&lt;div src_cetemp="/images/cnblogs_com/kid-li/Strategy.JPG" align="center"&gt;&lt;img border="0" width="672" src="http://images.cnblogs.com/cnblogs_com/kid-li/Strategy.JPG" height="308" /&gt;&lt;/div&gt;&amp;nbsp;&lt;br /&gt;&lt;img src="http://www.cnblogs.com/dooom/aggbug/1954111.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/dooom/archive/2011/02/14/1954111.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/dooom/archive/2011/02/13/1953049.html</id><title type="text">结构型模式--Proxy代理模式</title><summary type="text">Proxy代理模式是一种结构型设计模式，主要解决的问题是：在直接访问对象时带来的问题，比如说：要访问的对象在远程的机器上。在面向对象系统中，有些对象由于某些原因（比如对象创建开销很大，或者某些操作需要安全控制，或者需要进程外的访问），直接访问会给使用者或者系统结构带来很多麻烦，我们可以在访问此对象时加上一个对此对象的访问层。如下图： 比如说C和A不在一个服务器上，A要频繁的调用C，我们可以在A上做一个代理类Proxy，把访问C的工作交给Proxy，这样对于A来说，就好像在直接访问C的对象。在对A的开发中我们可以把注意力完全放在业务的实现上。 GoF《设计模式》中说道：为其他对象提供一种代理以控</summary><published>2011-02-13T03:02:00Z</published><updated>2011-02-13T03:02:00Z</updated><author><name>clound</name><uri>http://www.cnblogs.com/dooom/</uri></author><link rel="alternate" href="http://www.cnblogs.com/dooom/archive/2011/02/13/1953049.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/dooom/archive/2011/02/13/1953049.html"/><content type="html">&amp;nbsp;&amp;nbsp;&amp;nbsp; Proxy&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;代理模式是一种结构型设计模式，主要解决的问题是：在直接访问对象时带来的问题，比如说：要访问的对象在远程的机器上。在面向对象系统中，有些对象由于某些原因（比如对象创建开销很大，或者某些操作需要安全控制，或者需要进程外的访问），直接访问会给使用者或者系统结构带来很多麻烦，我们可以在访问此对象时加上一个对此对象的访问层。如下图：&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;img src="http://images.cnblogs.com/cnblogs_com/kid-li/Proxy1.jpg" border="0" width="362" height="188" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;p class="MsoNormal" align="center"&gt;&lt;span style="mso-bidi-font-size: 10.5pt;" lang="EN-US"&gt;&lt;v:shapetype stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600" id="_x0000_t75"&gt;&lt;v:stroke joinstyle="miter"&gt;&lt;/v:stroke&gt;&lt;v:formulas&gt;&lt;v:f eqn="if lineDrawn pixelLineWidth 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 1 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum 0 0 @1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @2 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 0 1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @6 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @8 21600 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @10 21600 0"&gt;&lt;/v:f&gt;&lt;/v:formulas&gt;&lt;v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"&gt;&lt;/v:path&gt;&lt;o:lock aspectratio="t" v:ext="edit"&gt;&lt;/o:lock&gt;&lt;/v:shapetype&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;比如说&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt;" lang="EN-US"&gt;C&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;和&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt;" lang="EN-US"&gt;A&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;不在一个服务器上，&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt;" lang="EN-US"&gt;A&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;要频繁的调用&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt;" lang="EN-US"&gt;C&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;，我们可以在&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt;" lang="EN-US"&gt;A&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;上做一个代理类&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt;" lang="EN-US"&gt;Proxy&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;，把访问&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt;" lang="EN-US"&gt;C&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;的工作交给&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt;" lang="EN-US"&gt;Proxy&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;，这样对于&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt;" lang="EN-US"&gt;A&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;来说，就好像在直接访问&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt;" lang="EN-US"&gt;C&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;的对象。在对&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt;" lang="EN-US"&gt;A&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;的开发中我们可以把注意力完全放在业务的实现上。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;GoF&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;《设计模式》中说道：为其他对象提供一种代理以控制这个对象的访问。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Proxy&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;模式的结构：&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;img src="http://images.cnblogs.com/cnblogs_com/kid-li/Proxy2.jpg" border="0" width="421" height="101" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center"&gt;&lt;span style="mso-bidi-font-size: 10.5pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;下面通过一个场景来看看&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt;" lang="EN-US"&gt;Proxy&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;的实现，我们要使用代理类型&lt;/span&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;ProxyClass&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;的对象调用远程机器上的一个类型&lt;/span&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;LongDistanceClass&lt;/span&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;"&gt;的对象。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;"&gt;首先我们先模拟一个远程的类型：为了保持对被代理对象使用的透明性，我们使代理类型和被代理类型同时继承同一个接口&lt;span lang="EN-US"&gt;IProxy&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;"&gt;接口实现：&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;interface&lt;/span&gt; IProxy&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;string&lt;/span&gt; Function1();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;string&lt;/span&gt; Function2();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;"&gt;远程对象实现：&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;summary&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: green; font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;"&gt;模拟的远程对象&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: gray;"&gt;///&lt;/span&gt;&lt;span style="color: green;"&gt; &lt;/span&gt;&lt;span style="color: gray;"&gt;&amp;lt;/summary&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;class&lt;/span&gt; LongDistanceClass:IProxy&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="color: blue; font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;#region&lt;/span&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt; IProxy &lt;/span&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;"&gt;成员&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;string&lt;/span&gt; Function1()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: green;"&gt;//do someting&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;return&lt;/span&gt; &lt;span style="color: purple;"&gt;"LongDistanceClass.Function1"&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;string&lt;/span&gt; Function2()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: green;"&gt;//do someting&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;return&lt;/span&gt; &lt;span style="color: purple;"&gt;"LongDistanceClass.Function2"&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="color: blue; font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;#endregion&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;"&gt;接下来就要实现代理类型，使用代理对象访问模拟的远程对象，代理类型实现如下：&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;class&lt;/span&gt; ProxyClass:IProxy&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="color: blue; font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;#region&lt;/span&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt; IProxy &lt;/span&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;"&gt;成员&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;string&lt;/span&gt; Function1()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: green;"&gt;//to access LongDistanceClass.Function1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;LongDistanceClass obj = &lt;span style="color: blue;"&gt;new&lt;/span&gt; LongDistanceClass();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;return&lt;/span&gt; obj.Function1();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;string&lt;/span&gt; Function2()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: green;"&gt;//to access LongDistanceClass.Function2&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;LongDistanceClass obj = &lt;span style="color: blue;"&gt;new&lt;/span&gt; LongDistanceClass();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;return&lt;/span&gt; obj.Function2();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="color: blue; font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;#endregion&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;"&gt;最后实现客户端代码：&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;class&lt;/span&gt; Class1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;[STAThread]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;static&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; &lt;st1:place w:st="on"&gt;Main&lt;/st1:place&gt;(&lt;span style="color: blue;"&gt;string&lt;/span&gt;[] args)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;IProxy pro = &lt;span style="color: blue;"&gt;new&lt;/span&gt; ProxyClass();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine(pro.Function1());&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine(pro.Function2());&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.Read();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 2;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;"&gt;运行结果如下：&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;LongDistanceClass.Function1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;LongDistanceClass.Function2&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Proxy&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;模式的要点：&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;1&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;、&amp;ldquo;增加一层间接层&amp;rdquo;是软件系统中对许多负责问题的一种常见解决方法。在面向对象系统中，直接使用某些对象会带来很多问题，作为间接层的&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt;" lang="EN-US"&gt;proxy&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;对象便是解决这一问题的常用手段。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;在我们日常的工作中也常常用到代理模式，比如对于三层结构或者&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt;" lang="EN-US"&gt;N-&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt;" lang="EN-US"&gt;tiers&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;结构中&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt;" lang="EN-US"&gt;DAL&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;数据访问层，它把对数据库的访问进行封装。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt;" lang="EN-US"&gt;BLL&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;业务层的开发者只是调用&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt;" lang="EN-US"&gt;DAL&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;中的方法来获得数据。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;在比如前一段时间看了看&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt;" lang="EN-US"&gt;AOP&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;和&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt;" lang="EN-US"&gt;Remoting&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;方面的资料，对于跨越应用程序域的访问，要为客户应用程序提供一个&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt;" lang="EN-US"&gt;TransparentProxy&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;（透明代理），客户程序实际上是通过访问这个代理来访问实际的类型对象。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt;" lang="EN-US"&gt;2&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;、具体&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt;" lang="EN-US"&gt;proxy&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;设计模式的实现方法、实现粒度都相差很大，有些可能对单个对象作细粒度的控制，有些可能对组件模块提供抽象代理层，在架构层次对对象作&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt;" lang="EN-US"&gt;proxy&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;。&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-size: 10.5pt;" lang="EN-US"&gt;3&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;、&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt;" lang="EN-US"&gt;proxy&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;并不一定要求保持接口的一致性，只要能够实现间接控制，有时候损及一些透明性是可以接受的。例如上面的那个例子，代理类型&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt;" lang="EN-US"&gt;ProxyClass&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;和被代理类型&lt;/span&gt;&lt;span style="font-family: 新宋体; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt;" lang="EN-US"&gt;LongDistanceClass&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;可以不用继承自同一个接口，正像&lt;/span&gt;&lt;span style="mso-bidi-font-size: 10.5pt;" lang="EN-US"&gt;GoF&lt;/span&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;《设计模式》中说的：为其他对象提供一种代理以控制这个对象的访问。代理类型从某种角度上讲也可以起到控制被代理类型的访问的作用。&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;原文：&lt;a href="http://www.cnblogs.com/kid-li/archive/2006/10/18/532192.html" id="ctl02_TitleUrl" class="postTitle2"&gt;设计模式学习笔记（十三）&amp;mdash;&amp;mdash;Proxy代理模式&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;参考：&lt;a href="http://www.cnblogs.com/Terrylee/archive/2006/05/18/403382.html" id="ctl03_TitleUrl" class="postTitle2"&gt;.NET设计模式（14）：代理模式（Proxy Pattern）&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;代理模式与适配器模式的异同：&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';"&gt;&lt;span id="body_1425445" class="tpc_content"&gt;proxy 和adapter有一定类似，都是属于一种衔接性质的。&lt;br /&gt;&amp;nbsp; &amp;nbsp;区别是很明显的，从大体上说：proxy是一种原来对象的代表，其它需要与这个对象打交道的操作都是和这个代表交涉，就象歌星的经纪人一样。&lt;br /&gt;&amp;nbsp;&amp;nbsp; adapter目的则不是要虚构出一个代表者，而是为应付特定使用目的，将原来的类进行一些组合。&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p id="green_channel"&gt;&amp;nbsp;&lt;/p&gt;&lt;div id="digg_block"&gt;&lt;div id="author_profile"&gt;&lt;div id="author_profile_info" class="author_profile_info"&gt;&lt;div id="author_profile_detail" class="author_profile_info"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="clear"&gt;&lt;/div&gt;&lt;div id="author_profile_honor"&gt;&lt;/div&gt;&lt;div id="author_profile_follow"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="display: none;" id="div_digg"&gt;&lt;div onclick="DiggIt(cb_entryId,cb_blogId,1)" class="diggit"&gt;&lt;span id="digg_count" class="diggnum"&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div onclick="DiggIt(cb_entryId,cb_blogId,2)" class="buryit"&gt;&lt;span id="bury_count" class="burynum"&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div class="clear"&gt;&lt;/div&gt;&lt;div id="digg_tips" class="diggword"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="clear"&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/dooom/aggbug/1953049.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/dooom/archive/2011/02/13/1953049.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
