<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[TOMMYHU]]></title> 
<link>http://www.tommyhu.cn/index.php</link> 
<description><![CDATA[与您分享最精彩的互联网资源 ~ 奇趣网络应用 & 新奇实用软件下载]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[TOMMYHU]]></copyright>
<item>
<link>http://www.tommyhu.cn/something-everything-nothing/</link>
<title><![CDATA[something,everything,nothing]]></title> 
<author>tommyhu &lt;258546962@qq.com&gt;</author>
<category><![CDATA[tommy的掰活]]></category>
<pubDate>Wed, 12 Dec 2012 04:12:12 +0000</pubDate> 
<guid>http://www.tommyhu.cn/something-everything-nothing/</guid> 
<description>
<![CDATA[ 
	<a href="http://www.tommyhu.cn/attachment.php?fid=2653" class="highslide" onclick="return hs.expand(this)"><img src="http://www.tommyhu.cn/attachment.php?fid=2653" class="insertimage" alt="Highslide JS" title="点击图片放大" border="0" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><span class="underline6"><span style="font-size: 18px;">您已经到达世界的终点！</span></span><br/><span class="underline6"><span style="font-size: 18px;">TOMMYHU作为一个个人博客，一直保持更新，坚持原创，</span></span><br/><span class="underline6"><span style="font-size: 18px;">欢迎评论和分享文章或给我提出改进建议，祝您工作愉快，生活幸福!</span></span><br/><a href="http://www.tommyhu.cn/attachment.php?fid=2654" class="highslide" onclick="return hs.expand(this)"><img src="http://www.tommyhu.cn/attachment.php?fid=2654" class="insertimage" alt="Highslide JS" title="点击图片放大" border="0" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><a href="http://tommyhu.cn"/>TOMMYHU.CN</a><a target="_blank" href="http://wpa.qq.com/msgrd?v=3&uin=258546962&site=qq&menu=yes"><img border="0" src="http://wpa.qq.com/pa?p=2:258546962:44" alt="点击这里给我发消息" title="点击这里给我发消息"></a><br/><script type="text/javascript" src="http://china-addthis.googlecode.com/svn/trunk/addfeed.js" charset="UTF-8"></script><span class="addfeed_cn"><a href="http://www.tommyhu.cn/feed.php" title="订阅我吧"><img src="http://www.tommyhu.cn/attachment/201108/1313215727_8184bae8.png" alt="添加订阅" align="absmiddle" border="0"/></a></span><br/><iframe width="230" height="64" frameborder="0" allowtransparency="true" marginwidth="0" marginheight="0" scrolling="no" frameborder="No" border="0" src="http://widget.weibo.com/relationship/followbutton.php?width=230&height=64&uid=1784172700&style=4&btn=red&dpc=1"></iframe></li><br/><li><embed src="http://player.youku.com/player.php/sid/XNzk5MDIzNg==/v.swf" quality="high" width="480" height="400" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash"></embed></li><br/></ul><br/><br/><br/>Tags - <a href="http://www.tommyhu.cn/tags/%25E8%258B%258F%25E5%25B7%259E/" rel="tag">苏州</a> , <a href="http://www.tommyhu.cn/tags/tommyhu.cn/" rel="tag">tommyhu.cn</a>
]]>
</description>
</item><item>
<link>http://www.tommyhu.cn/zhou-wei-tong-xie-zhen-xia-zai/</link>
<title><![CDATA[超级嫩模周韦彤性感写真集/图片/视频打包下载.rar(7G)]]></title> 
<author>tommyhu &lt;258546962@qq.com&gt;</author>
<category><![CDATA[奇趣网络信息]]></category>
<pubDate>Thu, 02 Feb 2012 13:48:06 +0000</pubDate> 
<guid>http://www.tommyhu.cn/zhou-wei-tong-xie-zhen-xia-zai/</guid> 
<description>
<![CDATA[ 
	宅男女神周韦彤，早前就因为足球宝贝身名雀起的周韦彤，目前到那个神话般的情色国度日本发展，事业线直接pk苍老师，宅男们HOLD不住了，超级嫩模周韦彤性感写真集/图片/视频打包下载.rar(7G)，赶紧行动吧，更多陆续整理中……<br/><span class="underline4"><span style="color: #FF1493;"><span style="font-size: 18px;">提供约7个G的周韦彤写真集包括图片和视频下载！</span></span></span><br/><a href="http://www.tommyhu.cn/attachment.php?fid=2894" class="highslide" onclick="return hs.expand(this)"><img src="http://www.tommyhu.cn/attachment.php?fid=2894" class="insertimage" alt="Highslide JS" title="点击图片放大" border="0" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><span style="font-size: 18px;">下载地址：<a href="http://kuai.xunlei.com/d/YIGWRHNFZYZP" target="_blank">http://kuai.xunlei.com/d/YIGWRHNFZYZP</a></span><hr/><br/>相关资料：<br/>周韦彤（英语：Cica，Zhou WeiTong，1982年8月26日－），原名周娜，又称作周伟童。中国贵州省水族人，中国著名模特。2011年10月22日出席在合肥举行的第28届中国电影金鸡奖颁奖典礼。<br/>周韦彤博客、周韦彤视频、周韦彤写真<br/>周韦彤圣诞写真图片<a href="http://slovet.blogbus.com/logs/92447228.html" target="_blank">http://slovet.blogbus.com/logs/92447228.html</a> <br/><br/>周韦彤新浪博客：<a href="http://blog.sina.com.cn/zhouweitong" target="_blank">http://blog.sina.com.cn/zhouweitong</a> <br/><br/>周韦彤新浪微博：<a href="http://t.sina.com.cn/zhouweitong" target="_blank">http://t.sina.com.cn/zhouweitong</a><br/><br/>周韦彤后写真集：<a href="http://goo.gl/q1N1f" target="_blank">http://goo.gl/q1N1f</a><br/><br/>周韦彤后援团博客：<a href="http://blog.sina.com.cn/u/1822827237" target="_blank">http://blog.sina.com.cn/u/1822827237</a><br/><br/>周韦彤后援团微博：<a href="http://t.sina.com.cn/zhouweitong9999" target="_blank">http://t.sina.com.cn/zhouweitong9999</a><br/><br/>百度周韦彤吧：<a href="http://post.baidu.com/f?kw=%D6%DC%CE%B0%CD%AF" target="_blank">http://post.baidu.com/f?kw=%D6%DC%CE%B0%CD%AF</a><br/><br/>视频：周韦彤Loving Cica写真集30分钟超长私密侧拍：<a href="http://nr.google%67%77.com/life/4/3184.html" target="_blank">http://nr.google%67%77.com/life/4/3184.html</a><br/><a href="http://tommyhu.cn/zhou-wei-tong-xie-zhen-xia-zai/" target="_blank"><span style="color: #FF0000;"><span style="font-size: 18px;">更多周韦彤写真图片及视频下载：</span></span></a><br/><br/>复制以下内容到迅雷即可实现下载，如下图：<br/><a href="http://www.tommyhu.cn/attachment.php?fid=2895" class="highslide" onclick="return hs.expand(this)"><img src="http://www.tommyhu.cn/attachment.php?fid=2895" class="insertimage" alt="Highslide JS" title="点击图片放大" border="0" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><div class="code"><br/>ed2k://&#124;file&#124;%E5%91%A8%E9%9F%A6%E5%BD%A4-Loving_Cica.avi&#124;706641898&#124;7c899d98d1e0ffd94cf4919546f358b3&#124;/ <br/>ed2k://&#124;file&#124;%5B%E5%91%A8%E9%9F%A6%E5%BD%A42010%E7%81%AB%E8%BE%A3%E5%86%99%E7%9C%9F%5D.Loving.Cica.2010.R3.Tw.Dvd5.Iso.iso&#124;3563061248&#124;9d206e5a0e0792a5e74d462804831fd6&#124;/&nbsp;&nbsp;3.3G的<br/>ed2k://&#124;file&#124;%E5%91%A8%E9%9F%A6%E5%BD%A4-Loving.Cica.mpg&#124;1784565760&#124;e4f4ba77c4a797c6feeefcad6374d206&#124;/ 1.7G的<br/></div><br/><span style="color: #FF0000;">本文涉及到周韦彤小姐的资料皆来源于网络（百度，迅雷），并非我本人上传，如有侵犯，请给予通知，将立即删除！</span><br/>超级嫩模周韦彤性感写真集/图片/视频打包下载.rar(7G)&nbsp;&nbsp;周韦彤写真下载 周韦彤写真视频下载 周韦彤写真图片打包下载<br/><a href="http://www.tommyhu.cn/attachment.php?fid=2897" class="highslide" onclick="return hs.expand(this)"><img src="http://www.tommyhu.cn/attachment.php?fid=2897" class="insertimage" alt="Highslide JS" title="点击图片放大" border="0" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/>Tags - <a href="http://www.tommyhu.cn/tags/%25E8%25B6%2585%25E7%25BA%25A7%25E5%25AB%25A9%25E6%25A8%25A1%25E5%2591%25A8%25E9%259F%25A6%25E5%25BD%25A4%25E6%2580%25A7%25E6%2584%259F%25E5%2586%2599%25E7%259C%259F%25E9%259B%2586%252F%25E5%259B%25BE%25E7%2589%2587%252F%25E8%25A7%2586%25E9%25A2%2591%25E6%2589%2593%25E5%258C%2585%25E4%25B8%258B%25E8%25BD%25BD.rar%25287g%2529%25E5%2591%25A8%25E9%259F%25A6%25E5%25BD%25A4%25E5%2586%2599%25E7%259C%259F%25E4%25B8%258B%25E8%25BD%25BD/" rel="tag">超级嫩模周韦彤性感写真集/图片/视频打包下载.rar(7g)周韦彤写真下载</a> , <a href="http://www.tommyhu.cn/tags/%25E5%2591%25A8%25E9%259F%25A6%25E5%25BD%25A4%25E5%2586%2599%25E7%259C%259F%25E8%25A7%2586%25E9%25A2%2591%25E4%25B8%258B%25E8%25BD%25BD/" rel="tag">周韦彤写真视频下载</a> , <a href="http://www.tommyhu.cn/tags/%25E5%2591%25A8%25E9%259F%25A6%25E5%25BD%25A4%25E5%2586%2599%25E7%259C%259F%25E5%259B%25BE%25E7%2589%2587%25E6%2589%2593%25E5%258C%2585%25E4%25B8%258B%25E8%25BD%25BD/" rel="tag">周韦彤写真图片打包下载</a>
]]>
</description>
</item><item>
<link>http://www.tommyhu.cn/wang-zhan-ji-feng/</link>
<title><![CDATA[议B2C网站积分体系的建立规则如何？]]></title> 
<author>tommyhu &lt;258546962@qq.com&gt;</author>
<category><![CDATA[SEO优化]]></category>
<pubDate>Thu, 02 Feb 2012 13:12:16 +0000</pubDate> 
<guid>http://www.tommyhu.cn/wang-zhan-ji-feng/</guid> 
<description>
<![CDATA[ 
	<div class="quote"><div class="quote-title">引用</div><div class="quote-content">积分体系也是网站的基础，也是属于开始就要考虑好，而非能够一边做一边想的东西。网站这个产品，有些东西是可以边做边改的，但有些东西，是必须在网站开工前就要设计完成的。</div></div><br/>附件（参考资料：积分建立规则word2003）：<a href="attachment.php?fid=2893">戳这里下载文件</a><br/><a href="http://www.tommyhu.cn/attachment.php?fid=2892" class="highslide" onclick="return hs.expand(this)"><img src="http://www.tommyhu.cn/attachment.php?fid=2892" class="insertimage" alt="Highslide JS" title="点击图片放大" border="0" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/>第一个，就是一定要多做活动，特别是线下活动;第二个，就是你的核心人员的层次一定要高，这是最核心的两条。<br/>　　积分体系也是网站的基础，也是属于开始就要考虑好，而非能够一边做一边想的东西。网站这个产品，有些东西是可以边做边改的，但有些东西，是必须在网站开工前就要设计完成的。积分体系就是属于这种，必须得提前设计好，轻易不能上，上了不能轻易改，一改就是影响所有的用户，并会造成不可预知的结果。<br/>　　积分体系最简单的就是给用户的正向操作加分，比如发贴，回复等操作，负向操作扣分，比如被删贴，被屏蔽，就会扣分。其它的内容就没有了。这种积分体系在论坛里用的最多，同时评比论坛大富翁，以这样的方式使用户的正向行为得到鼓励，使整个论坛更活跃。相当初河马也曾经是上海的中原上海大家庭论坛也是论坛TOP4的大富翁啊。<br/>　　积分体系也会升级，积分体系上升一级就是虚拟币系统。用户可以购买这种虚拟的积分，用实际的钱，买完后可以用积分完成一定的操作，享受一定的功能，或者是购买会员服务。会员积分体系可以与虚拟币系统同时存在，虚拟币系统作为收费的形式存在，积分系统作为补充的形式存在。<br/>　　在虚拟币系统中做的最好的就是QQ的体系，各项无不达到极致。若想研究虚拟币系统设计，必要去研究QQ的体系。但这种体系还有一个方面是做不到的，就是货币是只流入不流出的，可以使用人民币去买Q币，但无法用Q币还换人民币。在官方上还不能这样兑换，所以也和现实一样，出现了地下黑市，可以私下用Q币换些人民币，当然，如果有人愿意换的话。<br/>　　然后就达到第三级，虚拟币和真实币可以相互兑换，比如美国的第二人生，林登币和美元可以相互兑换，直接把虚拟世界和现实世界相对接，这就是积分体系的极致。从最初级的积分操作到最高级和货币互换，这就是整个积分体系。<br/>　　积分体系的意义在于三方面。第一方面是会鼓励用户正向的行为，网站使用积分来告诉用户什么是网站希望的行为，什么是网站不希望的行为。对希望的行为就加大积分，比如发布主题，有好的内容被推荐，都可以获得加分。若发布了不良主题，就进行了删除，同时扣除了积分，这样用户就会有损失，也就会停止这样的操作。用户的积分行为也会相互的进行比较和攀比，也会更加刺激用户的行为。而排在最前面的用户排名榜，也是会获得一种荣誉感。<br/>　　第二方面会创造用户交易的行为。比如用户可以使用自己获得的积分，购买网站的一些虚拟道具，或者是购买一些服务。用户之间的积分可以相互交易时，也是一种交易行为。用户的交易将带来两个好处，一是培养了用户付费的习惯，为将来收费做准备。二是可以鼓励用户更多的进行活跃，以获得更多可用于交换的积分。<br/>　　第三也是最重要的，最隐蔽的，网站创造了看不见的现金流。通过网站所建立起来的虚拟币体系，网站实际上已经获得了一笔从无中创造出来的钱，使用这笔虚拟的钱，可以直接交换各种服务，并能够让用户帮助网站发展用户，扩展业务。这点社区大佬张本伟在一次活动中有过祥细的描述。同时也可以与其它公司互换服务，这对于网站，特别是创业期的网站来说，是一笔非常重要的财富。<br/>　　那么如何来设计这个积分体系，首先确定那些操作可以获得积分，一般来说，正向的操作都可以获得积分，比如增加类的，增加贴子，增加活动，增加内容，分享类的，分享了一个信息，同时还有在线时间的，每天登陆次数的，或对网站发展会员的，邀请朋友参加的，此类操作都可以获得积分。<br/>　　那么得到这么多的积分，如何消耗掉呢，必须有流入也有流出，不然就不能算是一个完整的网站经济体系。积分的消耗一般有两种，一种是被网站的惩罚类，比如删除类，被网站发现，删除了不良内容，警告类的等。一种是消费类，购买了一种服务或功能，比如让自己的贴子置顶，花费一些积分，向别人请教问题，花费一些积分等。<br/>　　如果有不同的积分体系，在同一个网站内还存在着不同的积分体系，比如网站文章体系中的积分系统，和论坛中的积分体系，一般还会有个转换积分的比率，会在网站后台中设置。用户根据此比率，可以把自己的积分进行来回转换使用。<br/>　　网站积分体系设置的重点在于比率。需要了解用户的行为，看用户什么样的活动会产生多少的积分，同时也要让他们消耗掉。通货膨胀在网站中出现同样是可怕的，如果大家的积分都很少，花费都很高，结果就是大家都怨声载道，结果甚至可能和网站对抗。如果大家的积分多的都没处花，大家的贡献动力就会下降，导致整个网站活跃度下降。但如果这个东西用好了，将是网站最大赚钱的点之一。网游里面的经济体系可以算是最复杂的积分体系，那些做网游的都说了，免费游戏都收费游戏还能赚钱更多，其中一点，就是这种经济学和金融学。<br/>　　积分体系往往是和会员等级结合在一起的。一定的积分就可以升至一定的会员等级，表明这个会员在这个社区里所贡献的价值。特别是在问答类社区和论坛社区，拿破仑大帝也曾经说过，人是一种需要荣誉的动物。最简单的会员等级制，就是模仿军队设置，从士兵到士官，一直升到将军去。<br/>　　最后，我们作为一个用户为什么需要积分，因为我们需要有点东西证明，我们在这里投入的时间和精力。了解一个会员，看他在这个社区里到底是不是很重要的人，做了很多事的人，看他的积分就知道，一目了然，帮助我们把网站做到一点一滴的事汇总起来，表明我们也没有白做，就是如此而已<br/>网站积分体系的建立规则如何？ 积分建立规则 网站积分规则 网站积分<br/>Tags - <a href="http://www.tommyhu.cn/tags/%25E7%25BD%2591%25E7%25AB%2599%25E7%25A7%25AF%25E5%2588%2586%25E4%25BD%2593%25E7%25B3%25BB%25E7%259A%2584%25E5%25BB%25BA%25E7%25AB%258B%25E8%25A7%2584%25E5%2588%2599%25E5%25A6%2582%25E4%25BD%2595%25EF%25BC%259F/" rel="tag">网站积分体系的建立规则如何？</a> , <a href="http://www.tommyhu.cn/tags/%25E7%25A7%25AF%25E5%2588%2586%25E5%25BB%25BA%25E7%25AB%258B%25E8%25A7%2584%25E5%2588%2599/" rel="tag">积分建立规则</a> , <a href="http://www.tommyhu.cn/tags/%25E7%25BD%2591%25E7%25AB%2599%25E7%25A7%25AF%25E5%2588%2586%25E8%25A7%2584%25E5%2588%2599/" rel="tag">网站积分规则</a> , <a href="http://www.tommyhu.cn/tags/%25E7%25BD%2591%25E7%25AB%2599%25E7%25A7%25AF%25E5%2588%2586/" rel="tag">网站积分</a>
]]>
</description>
</item><item>
<link>http://www.tommyhu.cn/visual-studio-NuGet/</link>
<title><![CDATA[visual studio插件NuGet]]></title> 
<author>tommyhu &lt;258546962@qq.com&gt;</author>
<category><![CDATA[ASP.NET]]></category>
<pubDate>Tue, 31 Jan 2012 12:44:21 +0000</pubDate> 
<guid>http://www.tommyhu.cn/visual-studio-NuGet/</guid> 
<description>
<![CDATA[ 
	如果你使用Visual Studio 2010，那么 NuGet 可以使你的生活更加美好。当你项目里要引用到的一些库时候，比如JQuery 库或者 NHibernate, NUnit, log4net 你就可以考虑使用NuGet。它可以辅助你安装或者更新这些库。<br/><br/>当然我不得不继续说下去从安装到使用：<br/>NuGet是一个Visual Studio 的扩展， 首先你必须要安装它:<br/><br/>可以到官方网站： <a href="http://nuget.org/" target="_blank">http://nuget.org/</a><br/><br/>然后设置自动检查更新<br/><br/>进入 工具&#124;选项，然后环境&#124;扩展管理器 ，点击“ 自动检查更新，安装的扩展。 “<br/><a href="http://www.tommyhu.cn/attachment.php?fid=2886" class="highslide" onclick="return hs.expand(this)"><img src="http://www.tommyhu.cn/attachment.php?fid=2886" class="insertimage" alt="Highslide JS" title="点击图片放大" border="0" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/>Visual Studio Options - Automatically check for Package Updates<br/><br/>当你有一个Visual Studio扩展安装像NuGet，它并不不会去检查是否有更新可用。 这样你的扩展可能会过时。&nbsp;&nbsp;<br/><br/>当有更新的时候你会在系统托盘处得到一个通知：<br/><a href="http://www.tommyhu.cn/attachment.php?fid=2887" class="highslide" onclick="return hs.expand(this)"><img src="http://www.tommyhu.cn/attachment.php?fid=2887" class="insertimage" alt="Highslide JS" title="点击图片放大" border="0" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/>New extension updates are available<br/>获取NuGet程序包资源管理器<br/><br/>这是一个很好的工具，可以让我们更好使用 NuGet 点<a href="http://nuget.codeplex.com/releases/59864/clickOnce/NuGetPackageExplorer.application" target="_blank"><strong><span style="color: #0000FF;"><span style="font-size: 14px;">击这里安装</span></span></strong></a>.<br/><br/>你可以所有的细节，元数据和文件内容。<br/><a href="http://www.tommyhu.cn/attachment.php?fid=2888" class="highslide" onclick="return hs.expand(this)"><img src="http://www.tommyhu.cn/attachment.php?fid=2888" class="insertimage" alt="Highslide JS" title="点击图片放大" border="0" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/>NuGet Package Explorer - EFCodeFirst.SqlServerCompact.0.8.8482.1<br/><br/>你可以直接点击打开库，或者在库里面创建新的文件 ：<br/><a href="http://www.tommyhu.cn/attachment.php?fid=2889" class="highslide" onclick="return hs.expand(this)"><img src="http://www.tommyhu.cn/attachment.php?fid=2889" class="insertimage" alt="Highslide JS" title="点击图片放大" border="0" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/>image<br/><br/>你还可以直接从NuGet发布你的修改<br/><a href="http://www.tommyhu.cn/attachment.php?fid=2890" class="highslide" onclick="return hs.expand(this)"><img src="http://www.tommyhu.cn/attachment.php?fid=2890" class="insertimage" alt="Highslide JS" title="点击图片放大" border="0" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/>Publish package<br/>你可以访问 nuget.org 浏览更多的相关信息<br/><a href="http://www.tommyhu.cn/attachment.php?fid=2891" class="highslide" onclick="return hs.expand(this)"><img src="http://www.tommyhu.cn/attachment.php?fid=2891" class="insertimage" alt="Highslide JS" title="点击图片放大" border="0" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/>ScreenShot005<br/>Tags - <a href="http://www.tommyhu.cn/tags/visual-studio%25E6%258F%2592%25E4%25BB%25B6nuget/" rel="tag">visual-studio插件nuget</a> , <a href="http://www.tommyhu.cn/tags/visual-studio%25E6%258F%2592%25E4%25BB%25B6/" rel="tag">visual-studio插件</a> , <a href="http://www.tommyhu.cn/tags/nuget/" rel="tag">nuget</a>
]]>
</description>
</item><item>
<link>http://www.tommyhu.cn/xing-yun-da-shi-ma-ying-jiu/</link>
<title><![CDATA[星云大师与马英九的对话视频]]></title> 
<author>tommyhu &lt;258546962@qq.com&gt;</author>
<category><![CDATA[奇趣网络信息]]></category>
<pubDate>Tue, 31 Jan 2012 12:35:56 +0000</pubDate> 
<guid>http://www.tommyhu.cn/xing-yun-da-shi-ma-ying-jiu/</guid> 
<description>
<![CDATA[ 
	星云大师与马英九的对话视频<br/>【（视频对话）星云大师与马英九的对话】精彩绝伦！言简意赅，国人大可从中受益。实为哲学、倫理、政治、文明等等学问的入门读物。转发者、留言者今年肯定走运！<br/><embed src="http://www.tudou.com/v/nLBLAvxu7Gk/&resourceId=0_04_02_99" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" wmode="opaque" width="480" height="400"></embed><br/>Tags - <a href="http://www.tommyhu.cn/tags/%25E6%2598%259F%25E4%25BA%2591%25E5%25A4%25A7%25E5%25B8%2588%25E4%25B8%258E%25E9%25A9%25AC%25E8%258B%25B1%25E4%25B9%259D%25E7%259A%2584%25E5%25AF%25B9%25E8%25AF%259D%25E8%25A7%2586%25E9%25A2%2591/" rel="tag">星云大师与马英九的对话视频</a> , <a href="http://www.tommyhu.cn/tags/%25E6%2598%259F%25E4%25BA%2591%25E5%25A4%25A7%25E5%25B8%2588/" rel="tag">星云大师</a> , <a href="http://www.tommyhu.cn/tags/%25E9%25A9%25AC%25E8%258B%25B1%25E4%25B9%259D/" rel="tag">马英九</a>
]]>
</description>
</item><item>
<link>http://www.tommyhu.cn/wei-ruan-qi-ye-ku/</link>
<title><![CDATA[微软企业库5.0下载及简介]]></title> 
<author>tommyhu &lt;258546962@qq.com&gt;</author>
<category><![CDATA[ASP.NET]]></category>
<pubDate>Tue, 31 Jan 2012 02:20:19 +0000</pubDate> 
<guid>http://www.tommyhu.cn/wei-ruan-qi-ye-ku/</guid> 
<description>
<![CDATA[ 
	微软企业库5.0下载及简介<br/><a href="http://www.tommyhu.cn/attachment.php?fid=2885" class="highslide" onclick="return hs.expand(this)"><img src="http://www.tommyhu.cn/attachment.php?fid=2885" class="insertimage" alt="Highslide JS" title="点击图片放大" border="0" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/>csdn下载：<a href="http://download.csdn.net/tag/%E5%BE%AE%E8%BD%AF%E4%BC%81%E4%B8%9A%E5%BA%935.0" target="_blank">http://download.csdn.net/tag/%E5%BE%AE%E8%BD%AF%E4%BC%81%E4%B8%9A%E5%BA%935.0</a><br/>一、什么是企业库？ <br/>企业库包含一系列应用程序模块和核心架构。这些高复用的组件旨在帮助开发者解决一些共同的企业开发问题。 <br/>企业库同时提供高可配置的特性，使我们管理重复的工作更加容易，例如我们知道的在应用的很多地方发生的横切关注点。包括像日志记录、缓存、异常管理等。另外，它提供的依赖注入容器能够简化和分解你的设计，使他们更加可实验和容易理解，帮助你创建更加高性能的设计和各种应用。 <br/>二、使用企业库的3个简单步骤： <br/>1.引用和配置你需要的程序集。 <br/>2.通过企业库配置应用。 <br/>3.在你的代码中创建和使用企业库对象。 <br/>三、企业库的好处： <br/>应用模块帮助解决开发者从一个项目到另一个项目面对的共同问题。他们的设计封装了微软推荐的做法，这些都是基于微软框架的应用开发。例如，数据访问应用模块提供了对ADO.NET访问最频繁使用的特征。在某些情况下，应用模块还添加了一些基础类库没有直接提供的相关功能。 <br/><a href="attachment.php?fid=2884">戳这里下载文件</a><br/>Tags - <a href="http://www.tommyhu.cn/tags/%25E5%25BE%25AE%25E8%25BD%25AF%25E4%25BC%2581%25E4%25B8%259A%25E5%25BA%25935.0%25E4%25B8%258B%25E8%25BD%25BD%25E5%258F%258A%25E7%25AE%2580%25E4%25BB%258B/" rel="tag">微软企业库5.0下载及简介</a> , <a href="http://www.tommyhu.cn/tags/%25E5%25BE%25AE%25E8%25BD%25AF%25E4%25BC%2581%25E4%25B8%259A%25E5%25BA%2593/" rel="tag">微软企业库</a>
]]>
</description>
</item><item>
<link>http://www.tommyhu.cn/Open-Closed-principle/</link>
<title><![CDATA[ASP.NET面向对象编程-OCP原则]]></title> 
<author>tommyhu &lt;258546962@qq.com&gt;</author>
<category><![CDATA[ASP.NET]]></category>
<pubDate>Mon, 30 Jan 2012 14:44:06 +0000</pubDate> 
<guid>http://www.tommyhu.cn/Open-Closed-principle/</guid> 
<description>
<![CDATA[ 
	<span style="color: #FF0000;">面向对象可利用设计(OOD)的第一块基石，就是"开-闭原则（Open-Closed principle,简称OCP），它的核心含意是：一个好的设计应该能够容纳新的功能需求的增加，但是增加的方式不是通过修改又有的模块（类），而是通过增加新的模块（类）来完成的。如果一个设计能够遵循OCP，那么就能够有效的避免上述的问题。 </span><br/><div class="quote"><div class="quote-title">引用</div><div class="quote-content">开闭原则具有理想主义的色彩，它是面向对象设计的终极目标。因此，针对开闭原则的实现方法，一直都有面向对象设计的大师费尽心机，研究开闭原则的实现方式。后面要提到的里氏代换原则（LSP）、依赖倒转原则（DIP）、接口隔离原则（ISP）以及抽象类（Abstract Class）、接口(Interface)等等，都可以看作是开闭原则的实现方法。</div></div><br/>&nbsp;&nbsp;&nbsp;&nbsp;OCP原则认为：一个软件应该对扩展开放，对修改关闭 这是由大师Bertrand Meyer提出，英文原文是：<br/>&nbsp;&nbsp;&nbsp;&nbsp;Software entities should be open for extension,but closed for modification.<br/>&nbsp;&nbsp;&nbsp;&nbsp;它认为，在设计模块时，软件应该使这个模块在不被修改的前提下被扩展，换句话，是不必修改源代码的情况改变模块的行为我们大家经常用到的一些类库就是按照这样的原则进行设计的，如SUN的JDK开发包遵守OCP原则的系统可以达到PNP的功能，即是可以插拨的<br/>&nbsp;&nbsp;&nbsp;&nbsp;个人认为，在JAVA中，要达到OCP，关键是抽象化，可以定义一个或多个接口 或抽象类，规定所有具体类必须实现的方法作为抽象层，这个抽象预见了你的系统或模块将来的扩展，因此在任何扩展情况下都不会改变这就使得系统的抽象层不需要修改，从而满足了OCP中对修改关闭的原则但是由于有具体实现的类可以扩展来改变系统的行为，所以系统的设计是开放的，满足了OCP中扩展的要求<br/>&nbsp;&nbsp;&nbsp;&nbsp;设计模式中有好多种模式都在不同程度上达到了"开-闭"原则的要求，举几个例子：<br/>&nbsp;&nbsp;&nbsp;&nbsp;1.简单工厂模式<br/>&nbsp;&nbsp;&nbsp;&nbsp;"开-闭"原则要求模块允许新产品加入系统中，无需对现有代码进行修改在简单工厂中，对于产品的消费者是成立的，对于工厂是不成立的，每次增加一个新产品，都要修改工厂角色但是产品的消费者可以避免修改<br/>&nbsp;&nbsp;&nbsp;&nbsp;2.工厂方法模式<br/>&nbsp;&nbsp;&nbsp;&nbsp;工厂方法中，具体工厂类都有共同的接口，它们"生产"出很多的处于一个等级结构中的产品对象使用这个设计的系统可以允许向系统加入新的产品类型，而不必修改已有的代码，只需要加入一个新的具体的工厂就OK了，所以对增加新的产品而言，完全支持"开-闭"原则<br/>&nbsp;&nbsp;&nbsp;&nbsp;3.抽象工厂模式<br/>&nbsp;&nbsp;&nbsp;&nbsp;抽象工厂模式封装了产品对象的家族的可变性，从而可以使系统动态决定将那一个产品族的产品实例化，另一方面可以在新的产品对象引进到已有的系统中时不必修改，在产品对象家族变化时，可以维持系统的"开-闭"原则<br/>&nbsp;&nbsp;&nbsp;&nbsp;4.BUILDER模式<br/>&nbsp;&nbsp;&nbsp;&nbsp;建造模式封装了建造一个有内部结构的产品对象的过程，因此这样的系统是向产品内部表象的改变开放的<br/>&nbsp;&nbsp;&nbsp;&nbsp;5.桥梁模式<br/>&nbsp;&nbsp;&nbsp;&nbsp;桥梁模式是"对可变性的封装原则"很好的例子，在桥梁模式中，具体实现化类同的实现逻辑，但是所有的具体实现化类又有共同的接口新的实现逻辑可以通过创建新的具体实现类加入到系统中<br/>&nbsp;&nbsp;&nbsp;&nbsp;OCP是OOD的基本原则，只有深刻地理解了OCP原则，深刻理解JAVA中的接口与抽象类的用法，关键是语义，才可能设计出高可用性的，稳定性的系统<br/>百度百科：<a href="http://baike.baidu.com/view/866233.htm" target="_blank">http://baike.baidu.com/view/866233.htm</a><br/>Tags - <a href="http://www.tommyhu.cn/tags/asp.net%25E9%259D%25A2%25E5%2590%2591%25E5%25AF%25B9%25E8%25B1%25A1%25E7%25BC%2596%25E7%25A8%258B-ocp%25E5%258E%259F%25E5%2588%2599/" rel="tag">asp.net面向对象编程-ocp原则</a> , <a href="http://www.tommyhu.cn/tags/%25E5%25BC%2580-%25E9%2597%25AD%25E5%258E%259F%25E5%2588%2599/" rel="tag">开-闭原则</a> , <a href="http://www.tommyhu.cn/tags/ocp/" rel="tag">ocp</a> , <a href="http://www.tommyhu.cn/tags/asp.net/" rel="tag">asp.net</a>
]]>
</description>
</item><item>
<link>http://www.tommyhu.cn/Inversion-of-Control/</link>
<title><![CDATA[依赖注入（或称“控制反转”Inversion of Control，英文缩写为IoC）]]></title> 
<author>tommyhu &lt;258546962@qq.com&gt;</author>
<category><![CDATA[设计模式]]></category>
<pubDate>Mon, 30 Jan 2012 14:02:59 +0000</pubDate> 
<guid>http://www.tommyhu.cn/Inversion-of-Control/</guid> 
<description>
<![CDATA[ 
	<a href="http://www.tommyhu.cn/attachment.php?fid=2881" class="highslide" onclick="return hs.expand(this)"><img src="http://www.tommyhu.cn/attachment.php?fid=2881" class="insertimage" alt="Highslide JS" title="点击图片放大" border="0" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><div class="quote"><div class="quote-title">引用</div><div class="quote-content">依赖注入（或称“控制反转”Inversion-of-Control，英文缩写为IoC）&nbsp;&nbsp;什么是依赖注入&nbsp;&nbsp; 什么是控制反转，下面一起来理解下：<br/>控制反转是一个重要的面向对象编程的法则来<span style="color: #FF0000;">削减计算机程序的耦合</span>问题。 控制反转还有一个名字叫做依赖注入（Dependency Injection）。简称DI。<br/>IoC 亦称为 “依赖倒置原理”("Dependency Inversion Principle")。差不多所有框架都使用了“倒置注入(Fowler 2004)技巧，这可说是IoC原理的一项应用。SmallTalk，C++, Java 或各种.NET 语言等面向对象程序语言的程序员已使用了这些原理。<br/>　　<span style="color: #FF0000;">控制反转是Spring框架的核心。</span><br/>　　应用控制反转，对象在被创建的时候，由一个调控系统内所有对象的外界实体，将其所依赖的对象的引用，传递给它。也可以说，依赖被注入到对象中。所以，控制反转是，关于一个对象如何获取他所依赖的对象的引用，这个责任的反转。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #FF0000;">IoC就是IoC，不是什么技术，与GoF一样，是一种设计模式。</span><br/>“控制反转百度百科：<a href="http://baike.baidu.com/view/1800021.htm" target="_blank">http://baike.baidu.com/view/1800021.htm</a></div></div><br/><strong><span style="font-size: 12px;">通俗的理解：</span></strong><br/><div class="quote"><div class="quote-title">引用</div><div class="quote-content">依赖注入是spring框架中的解耦的一种策略,称为DI或IOC(控制反转),主要有set方式（提供set和get方法)和constractor(构造方法)方式，它使得类与类之间以配置文件的形式组织在一起，而不是硬编码的方式，例如classA 中用到了classB如果写代码的话是new 一个classB,而用依赖注入的方式则是在applicationContext.xml里面写两个<br/><textarea name="code" class="c#" rows="15" cols="100"><bean id="id1" class="A"><property name="B" ref="id2"></bean>
<bean id="id2" class="B"></bean></textarea>,就是在类A里原来需要new 的地方就不需要写了，</div></div><br/><a href="attachment.php?fid=2883">戳这里下载文件</a><br/><hr/><br/><span style="font-size: 14px;">msdn中关于依赖注入的描述：</span>http://msdn.microsoft.com/zh-cn/magazine/cc163739(en-us).aspx#contents（下面是译文）<br/>今天比以往更加注重对现有组件的重用和把异构组件联结成一种粘合框架。但是这种联结很快就成了一项让人畏缩的任务，因为这个时候程序的尺寸和复杂度都在增加，依赖性也是。减少这种依赖性扩展的一个方法就是使用依赖注入（Dependency Injection），它允许你把对象注入一个类，这胜于依赖这个类来建立自己的对象。<br/>使用工厂类是实现依赖注入（DI）的通常方法。当一个组件创建了另一个类的一个private实例，它在组件内部使初始化逻辑内在化。初始化逻辑很少在创建组件的外部被重用，因此必需为其它需要该被创建的类的实例的类重写初始化逻辑。例如类Foo创建类Bar的一个实例，且类Bar的实例需要几个初始化步骤，这对每个Bar的实例是不同的，其它想要创建Bar的实例的类不得不重写在类Foo中能发现的相同的初始化逻辑。<br/>开发者喜欢自动化那些单调而泛味的任务，然而许多开发者仍然手动完成那些如对象构造和依赖分解的方法，依赖分解能够描述成对一个类型或对象的已定义的依赖性的分解。另外，依赖注入，目的就是减少你必需写的样板联结和底层代码的数量<br/>容器提供了一个抽象层可以把组件储存在其中，特别是DI容器通过提供一些实例化类的实例的通用工厂类减少我刚描述的依赖联结的种类，允许在更广的水平上重用构造逻辑。<br/>在进入DI容器之前，先让我们回顾下贯穿整个DI容器的核心模式，抽象工厂模式。<br/>工厂模式复习资料<br/>在 Design Patterns (Addison-Wesley, 1995), 作者是Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides，描述了抽象工厂模式的意图："为了构造和实例化一组相关的对象而不需要指定它们的具体的对象。"在你的程序中使用抽象工厂模式允许你定义抽象类来创建对象系列。通过封装实例和构造逻辑，你保留对依赖性和你的对象允许的状态的控制。<br/>常常，因为某些确定的依赖性或者其它需求，对象需要以一种协调的方式被实例化。例如，当在客户端代码中创建System.Xml.XmlValidatingReader的一个实例时，当验证该XmlValidtingReader对象时，频繁地把一个XmlSchemaCollection对象与相关的schemas驻留在一起。<br/>工厂模式的另一种类型称之为工厂方法。工厂方法是简单的一个方法，通常定义为静态，它惟一的目的就是返回一个类的实例。有时，在更利于多态的情况下，为了指出返回确定的接口实现或者子类，一个标记将被传人工厂方法。例如WebRequest的创建方法接收一个字符串或者Uri实例，并返回一个派生自WebRequest的子类的一个新的实例。<br/>从这以后，我将简单地使用"工厂"既表示抽象工厂模式又表示工厂方法实现。<br/>利用工厂实现DI<br/>工厂允许程序把对象和组件联结在一起，而不需要暴露太多关于组件如何组合或者每个组件也许有些什么依赖性。代替散布在整个程序中复杂的创建代码，工厂允许把那些代码驻留在中心位置，因此有利于在整个程序中重用，然后客户端代码调用工厂中的创建方法，随后工厂返回那些被请求的类的完整的实例。封装被保护，且客户端有效地消除与任何种被要求创建和配置对象实例的管线的耦合性（这句不是很好翻译，请高手指点一下，原文如下：Encapsulation is preserved, and the client is effectively decoupled from any sort of plumbing required to create or configure the object instance.）。<br/>Figure 1 Factory Functions<br/>工厂所能做的，远不仅仅是简单地创建对象和聚合它们的依赖性。它们也能作为一个中央配置区域来跨越一个对象的所有实例统一应用服务和约束（见图1）。例如，一个工厂能返回实际对象实例的一个代理，代替返回一个对象的实例，因此让分布式方法调用成为可能。既然客户端程序并不知道正在处理的对象实例，实际上是一个代理，而不是对象的真正实例，那么，就根本不需要更改客户端的代码。这种服务类型的例子可以在.NET远程框架中发现。使用一个.NET配置文件，分布式对象能被显示地配置，且客户端程序使用"new"很简单就创建一个类的实例，这对本地和分布式对象都是相同的，也不分是客户端激活还是服务器断激活对象。所有这些配置和管理的发生不需要客户端了解.NET远程。<br/>然而，工厂并不是没有缺点。大部分时间里，在某个程序中工厂实现是非常有价值的，却不能跨越其它程序重用的，常常，所有可用的创建选项在工厂实现中被硬编码，使得工厂自己没有扩展性。大部分时间，类调用工厂中的创建方法必需知道创建工厂的哪个子类。<br/>其次，在编译时，一个使用工厂创建的对象所有的依赖性对于工厂来说是清楚的。暂时忘记一会儿那不相干的.NET反射，在运行时，没有办法在那些被创建的对象中插入或者改变行为方式和那些被装配的依赖性。所有这些必需发生在设计时，或者至少要求重新编译。例如假设，一个工厂创建了类Foo的实例且类Foo的实例需要类Bar的一个实例，那么，工厂就必需知道如何重新得到类Bar的一个实例。工厂必需创建一个新的实例，或者即使是产生对另一个工厂的调用。<br/>第三，既然工厂是自定义每个单独的实现，在一个特殊的工厂中有一个重要的被控制的横切架构的级别（这句也太难翻译，请高手指点：there can be a significant level of cross-cutting infrastructure that is held captive inside a particular factory）。举一个这样的例子，一个工厂动态为一个实际对象替换代理对象。这个就是一部分架构的例子，既为了部署在一个分布式系统中简单对象的包装，那是完全被封装在一个特殊类中的。如果其它对象需要以一种相似的方式改变，这么做的逻辑被隐藏在工厂中，必需为其它对象重复所做的。一旦该功能在原有的程序之外需要，现在的问题变成了在既维持现有的工厂概念的同时如何重用这功能。<br/>最后，工厂为了达到多态依赖于定义良好的接口。为了工厂实现能够动态创建不同的具体子类实例，必需有一个共同的基类或者共享工厂将创建其实例的所有的类实现的接口。现在发生的这种进退两难的局面就是，你如何能完成这种去藕情形，而不被强制为一切东西都创建一个接口。<br/>这就是使用常规的工厂实现法实现DI所要面对的一些问题。然而，就如你很快能看到的，存在另一种可行的选择。同时，DI并不是单独围着工厂模式建立的，事实上，还跟许多其它模式相关，包括创建者，装配器，访问者模式。<br/>使用容器抽象DI<br/>许多先前的针对DI的缺点，通过使用容器都能够解决，容器是一个把一些抽象驻留在它的墙之内的隔离间。典型地，对象管理的责任由任何被用来管理这些对象的容器来接管，然而，容器也能接管实例化、配置，特定容器的程序也为对象服务。<br/>容器考虑到对象被容器配置，因此反对通过客户端程序配置。这考虑到容器服务一个广泛职责功能范围，例如对象生命周期管理和依赖性分解。另外，容器能对对象应用交叉服务无论构造是否驻留在容器内，交叉（cross-cutting）服务被定义为一个足够通用在应用程序跨越不同上下文时的服务，同时提供一些特殊的好处。交叉（cross-cutting）服务一个例子就是日志框架，把程序中所有方法调用记入日志。<br/>容器vs.工厂<br/>有几个理由在你的程序开发中使用容器。容器提用许多其它服务提供包装普通对象的能力。这允许对象对某种基础架构和管线(plumbing)细节一无所知，如事务和基于角色的安全。时常地，客户端代码不需要清楚容器，因此没有真正的依赖性在容器自己之上。<br/>这些服务能公开地配置，意味着它们能经由外部的方法来配置，包括GUIs,XML文件，属性文件，或者普通的.NET特性。<br/>有横切（cross-cutting）服务的容器能跨程序被重用。一个容器能被用来跨越在企业的各种程序中配置对象。许多能被横跨整个企业来应用的服务是低层次的底层架构和管线（plumbing）服务。这些服务能跨整个企业被使用且不需要在一个程序中深度嵌入特定容器代码或者逻辑。<br/>容器不是新事物<br/>容器以一些形式或者其它存在很多年了，事实上，当Microsoft® Transaction Server (MTS)作为Windows NT® 4.0可选包被发布时，容器就被在后台使用了。<br/>今天容器仍然是微软企业开发策略中活跃的一部分。事实上，假如你正写基于.NET的代码，你已经使用容器部署你的程序了：.NET公共语言运行时（CLR）。CLR在运行时执行广泛种类的重要任务，包括内存管理，自动范围检查和溢出保护，还有方法调用安全等。<br/>新一版本的MTS，称之为COM+,是一个主要的进展。在.NET中的等同物，是企业服务，仍然被推荐为构造分布式企业应用的方法。COM+和企业服务提供超出MTS起初提供的大量的服务。在.NET1.1版本中，包括对象消息，对象池，便于陈述的动态事物，松耦合事件，基于角色的安全。<br/>使用这些容器的问题就是它们太昂贵。尽管在它们之上能建立相当稳定架构，现在的容器技术对.NET开发员来说有一些缺陷。它们要求特定容器结构被引入域代码。很多操作能使容器基础架构逆向影响性能，即使是最低限度。<br/>需要特定容器结构的例子可以在.NET Framework 1.x中找到，企业服务（Enterprise Service）要求任何在它控制下的必需派生自ServiceComponent类。既然.NET不支持多继承，这个约束限制了企业服务（Enterprise Service）能被使用的地方。<br/>因为重量级容器影响性能和增加客户端代码的复杂性，所以仅在大型分布式应用中采取它们。<br/>微软也提供了内置的对轻量级依赖注入（DI）版本的支持，使用的是System.ComponentModel名称空间。这不像企业服务，它不提供任何额外的服务或者功能；它只提供了服务注入。然而，像企业服务（Enterprise Service）为了使用在System.ComponentModel名称空间下的类，你的类必变成有容器意识的（container-aware）。这通过实现某特定的容器接口来实现。<br/>轻量级容器<br/>有许多程序将会从我描述的容器的许多特点中获得好处，但是他们的需要不证明使用重量级的容器是恰当的。在容器领域的另一端，轻量级容器提供了许多重量级容器所具备的相同的好处，而不需要COM+和企业服务的那些开支。尽管存在一些轻量级的容器，许多组织仍然选择使用Enterprise Service,但是这种情况正在改变，许多这些轻量级的容器除了提供简单的DI外还有其它服务。这些容器通常能被配置向你的对象中增加其它有价值的服务。<br/><br/>Spring.NET<br/>你能建立你自己的轻量级DI容器，尽管已经存在了一些你认为可以利用的这类系统的实现。其中一个就是Spring.NET，Spring.NET提供了一个围绕工厂概念建立的轻量级的DI容器。它不仅通过允许用户使用在他们代码中预建的工厂来提供DI，也提供一组能应用在Spring.NET控制之下任何对象的服务。由于Spring.NET使用标准的.NET代码建立的，使用Spring.NET程序不需要额外依赖COM,COM+，或者Enterprise Service。<br/><br/>Factory Example工厂例子<br/>下面代码是一个简单的接口，IDomainObjectInerface,我的对象将实现它。该接口包含一个属性，它返回一个表示我的对象名称的字符串<br/><textarea name="code" class="c#" rows="15" cols="100">
public interface IDomainObjectInterface
&#123;

string Name&#123; get; &#125;

&#125;
</textarea><br/>在 图 2 中的代码（译者注：为了方便，我把这些代码都放进文章，你当然也可以点击链接）<br/>包含两个类，都实现上述的接口。如你所见，那个Name属性简单地返回类的名称，这依赖于被使用的具体子类。我将使用这两个类，连同他们实现的接口，作为我即将介绍的例子的基础。<br/>图2 实现类<textarea name="code" class="c#" rows="15" cols="100">
public class ImplementationClass1 : IDomainObjectInterface &#123;
public ImplementationClass1()&#123;&#125;
public string Name
&#123;
get &#123; return "Implementation Class 1"; &#125;
&#125;
&#125;
public class ImplementationClass2 : IDomainObjectInterface &#123;
public ImplementationClass2()&#123;&#125;
public string Name
&#123;
get &#123; return "Implementation Class 2"; &#125;
&#125;
&#125;</textarea><br/>图2<br/>典型地，这两个类都将由一个工厂类创建。类似于图3.另外工厂类，ImplementationClassFactory，图3.也包含枚举，ImplementationClassType.工厂类有一个方法，GetImplementationClass,它接收一个枚举值，根据枚举的值，将返回这两个IDomainObjectInterface实现类的其中一个。客户端的类复杂选择它将使用哪个实现类。<br/>图3 工厂类<textarea name="code" class="c#" rows="15" cols="100">
public enum ImplementationClassType
&#123;
ImplementationClass1,
ImplementationClass2
&#125;
public class ImplementationClassFactory
&#123;
public static IDomainObjectInterface GetImplementationClass(
ImplementationClassType implementationClassType )
&#123;
switch ( implementationClassType )
&#123;
case ImplementationClassType.ImplementationClass1:
return new ImplementationClass1();
case ImplementationClassType.ImplementationClass2:
return new ImplementationClass2();
default:
throw new ArgumentException("Class " +
implementationClassType + " not supported." );
&#125;
&#125;
&#125;</textarea><br/>现在，这个工厂方法有几个缺点。<br/>首先，实现类的数目被写死在工厂方法中。因此，对于实现者即使有一个接口，但工厂方法也不可能返回一个它不了解的实现类。这限制了扩展性，特别是在公共API和程序框架这种情况下，我们不仅渴望知道，在什么地方引入新的实现类，而且达到某种程度的伸缩性。<br/>其次，即使存在动态引入新的实现类的能力，客户端程序仍然需要知道请求哪一个类，这限制了工厂类被期望提供的一些伸缩性。<br/>在图 4 中ConsoleRunner类说明了客户端如何使用工厂类创建一个想要的实现类的实例。注意，客户端代码必须明白的指定想要的实现类，在这点上，工厂类的许多好处就被丢失了。<br/>图4 使用工厂类<textarea name="code" class="c#" rows="15" cols="100">
using System;
using SpringDIExample;
class ConsoleRunner
&#123;
static void
Main ()
&#123;
IDomainObjectInterface domainObjectInterface =
ImplementationClassFactory.GetImplementationClass(
ImplementationClassType.ImplementationClass1);
Console.WriteLine("My name is " + domainObjectInterface.Name);
&#125;
&#125;
</textarea><br/>Spring.NET 实现<br/>现在，你已经看过典型的工厂模式了，现在看一下，一个DI容器如何不仅达到许多与工厂方法相同目标，而且在你程序中增加大量的伸缩性和功能。<br/>图 5了一个ConsoleRunner类的一个升级版本，在这个例子中，我们使用Spring.NET的DI容器，这需要一点初始化设置，首先，你必须建立一个工厂的实例，使用一个config.xml文件作为你的对象定义的源。接下来，用对Spring.NET工厂类的调用替换对自定义工厂类的的调用，注意，由于通用工厂不了解第三方接口的任何东西，所以任何从工厂返回的实例都向上转型为你所期望的接口。最后，ConsoleRunner类的最后一行保持不变，即使你已经了对象的源以及如何被实例化。<br/>图5 ConsoleRunner 使用 Spring.NET<textarea name="code" class="c#" rows="15" cols="100">
using System;
using System.IO;
using Spring.Objects.Factory.Xml;
using SpringDIExample;
class ConsoleRunner
&#123;
static void
Main ()
&#123;
// 1. Open the configuration file and create a new
// factory, reading in the object definitions
using (Stream stream = File.OpenRead("config.xml"))
&#123;
// 2. Create a new object factory
XmlObjectFactory xmlObjectFactory =
new XmlObjectFactory(stream);
// 3. Call my factory class with generic label for the object
// that is requested.
IDomainObjectInterface domainObjectInterface =
(IDomainObjectInterface)xmlObjectFactory.
GetObject("DomainObjectImplementationClass");
// 4. Use the object just like any other concrete class.
Console.WriteLine("My name is " + domainObjectInterface.Name);
&#125;
&#125;
&#125;</textarea><br/>现在，让我们看下如何编写config.xml文件，就是它驱动工厂类，这儿是一个完整的config.xml文件（译者注：如果使用最新的Spring.net，可能稍有区别）中：<textarea name="code" class="c#" rows="15" cols="100">
<?xml version="1.0" encoding="utf-8" ?>

<objects xmlns="http://www.springframework.net">

<object name="DomainObjectImplementationClass"

singleton="false"

type="ImplementationClass1, SpringDIExample" />

</objects>
</textarea><br/>你将注意到配置文件不是很大，仅包含两个元素，<object>,它包含所有的对象定义，和单独的<object>定义。从配置文件显示的，你能明白有一个对象定义，对象定义包含三个基本特性，这些特性定义了创建什么对象以及如何创建。<br/>特性name定义了当从一个工厂请求一个对象时供我的ConsoleRunner类使用的名称。在这个例子中，是"DomainObjectImplementationClass".在客户端代码中，这个名称仅被使用来引用包含在配置文件定义。<br/>接下来，singleton特性是一个Boolean标志，指定是否对象以singleton模式被创建。Spring.NET已经内建支持建立singleton对象，但如果我们不需要这功能，我就设该特性为false。<br/>最后，type特性定义被创建对象的实际类型，当工厂被查询时，实际上，该类型将被加载和返回。该字符传接受"Type, Assembly"的形式。不仅指示对象的类型，而且指出它处于哪个程序集中。<br/>通过简单地改变配置文件中实现类的类型，例如从"ImplementationClass1" t到"ImplementationClass2"，你就能动态改变返回给客户端的类，不需要重新编译。<br/><br/>增强扩展性<br/>直到现在，我已经简单地把创建对象的责任移到了一个外部的工厂实现和配置文件。虽然这种能被看到的公开配置的形式比那种静态的更让人满意，但自定义的工厂实现，有更多能使用容器来完成的东西。<br/>假定你已经在公共的API中发布了IDomainObjectInterface接口，且你允许API的使用者创建他们自己的接口实现，all while still utilizing several existing clients that have already been built to use the IDomainObjectInterface.把使用者的实现给客户端证明是很困难的，特别是由于你根本不了解类如何被创建或者配置。类ImplementationClass3是一个IDomainObjectInterface接口的第三方实现，除了它被放置在一个单独的程序集中外，它类似于ImplementationClass1和ImplementationClass2，这两个类是在同一个程序集中的。<br/><textarea name="code" class="c#" rows="15" cols="100">public class ImplementationClass3 : IDomainObjectInterface
&#123;
public ImplementationClass3()&#123;&#125;
public string Name
&#123;
get &#123; return "Implementation Class 3"; &#125;
&#125;
&#125;</textarea><br/>使用如Spring.NET那样的框架，让我的ConsoleRunner类使用新的ImplementationClass3类是很容易的，仅需要的原始的config.xml配置，下面的配置文件已经做了必要的修改了。惟一不同的一行就是type特性，它已经更新为指向ImplementationClass3已经SimpleDIExampleExtension程序集：<textarea name="code" class="c#" rows="15" cols="100">
<?xml version="1.0" encoding="utf-8" ?>

<objects xmlns="http://www.springframework.net">

<object name="DomainObjectImplementationClass"

singleton="false"

type="ImplementationClass3, SpringDIExampleExtension"/>

</objects>
</textarea><br/>重新运行ConsoleRunner,类ImplementationClass3的一个实例将被创建和返回。完成这些根本不需要重新编译ConsoleRunner，即使ImplementationClass3存在于一个与原始实现类物理分离的程序集。<br/><br/>依赖分解<br/>现在你已经看到容器是如何帮助创建对象的，现在让我们看看对象间的依赖性是如何处理的。下面的类DependentClass，有一个读/写属性Message。<textarea name="code" class="c#" rows="15" cols="100">
public class DependentClass
&#123;
private string _message;
public DependentClass()&#123;&#125;
public string Message
&#123;
set &#123; _message = value; &#125;
get &#123; return _message; &#125;
&#125;
&#125;</textarea><br/>我们将配置容器自动把一个消息插入DependentClass.Message属性，我们也会动态把一个已配置DependentClass对象实例插入ImplementationClass4.DependentClass属性。<br/>图 6显示了IDomainObjectInterface的一个新的实现，ImplementationClass4.如你所见，ImplementationClass4不仅实现了IDomainObjectInterface，它还有一个额外的属性,DependentClass，它将持有一个DependentClass的实例。<br/>Figure 6 New Implementation of IDomainObjectInterface<textarea name="code" class="c#" rows="15" cols="100">
public class ImplementationClass4 : IDomainObjectInterface
&#123;
private DependentClass _dependentClass;
public ImplementationClass4()&#123;&#125;
public DependentClass DependentClass
&#123;
get &#123; return _dependentClass; &#125;
set &#123; _dependentClass = value; &#125;
&#125;
public string Name
&#123;
get &#123; return _dependentClass.Message; &#125;
&#125;
&#125;</textarea><br/>图7显示的是更新后的config.xml文件，与先前的相比，有三个改变，第一，增加了一个新的<object>元素，它配置被使用的DependentClass的一个实例。所有先前解释的<object>元素的特性都出现了，但是这个对象定义在主对象定义下面还有一个额外的元素。<property>元素为一个给定的对象定义配置一个属性。在这个例子中，特性name包含了要组装的属性的名称，在这儿就是DependentClass.Message.既然DependentClass.Message属性一个基本类型，它的设定值包装在一个<tag>标签中包含在该标签中的文本就是将被在实例中组装的DependentClass.Message的设定的值。<br/>Figure 7 Updated config.xml<textarea name="code" class="c#" rows="15" cols="100">
<?xml version="1.0" encoding="utf-8" ?>
<objects xmlns="http://www.springframework.net">
<object name="DomainObjectImplementationClass"
singleton="false"
type="ImplementationClass4, SpringDIExample">
<property name="DependentClass">
<ref object="DomainObjectDependentClass"/>
</property>
</object>
<object name="DomainObjectDependentClass"
singleton="false"
type="DependentClass, SpringDIExample">
<property name="Message"><value>Dependent Class</value></property>
</object>
</objects></textarea><br/>第二个改变就是涉及到我原始的DomainObjectImplementationClass定义。一个新的<property>元素被加入定义中，DependentClass属性，由于该属性的值是一个复杂类型的实例，一个<ref>标签被用来代替<value>标签来包装值。<ref>标签的object特性引用的是先前配置的对象定义的名称，在例中是"DomainObjectDependentClass".<br/>最后对配置文件的改变，是在第一个对象定义中，我们已经用类ImplementationClass4更新了type的引用。<br/>现在，重新部署新的config.xml文件，重新运行ConsoleRunner类，注意那被配置的DependentClass.Message属性被显示出来，依赖性被装配和分解，客户端程序正使用新的类，所有这项不需要知道正在使用什么类，也不需要重新编译。<br/>结论<br/>依赖注入是一个很值得探索的概念，为了在你开发的程序中使用它。它不但减少组件之间的耦合，也节省你一遍又一遍的写编写模板工厂的创建代码。Spring.NET是一个提供DI容器的框架的例子，但它不是惟一的.NET轻量级的容器，其它容器包括Pico 和 Avalon.<br/>Tags - <a href="http://www.tommyhu.cn/tags/%25E4%25BE%259D%25E8%25B5%2596%25E6%25B3%25A8%25E5%2585%25A5%25EF%25BC%2588%25E6%2588%2596%25E7%25A7%25B0%25E2%2580%259C%25E6%258E%25A7%25E5%2588%25B6%25E5%258F%258D%25E8%25BD%25AC%25E2%2580%259Dinversion-of-control%25EF%25BC%258C%25E8%258B%25B1%25E6%2596%2587%25E7%25BC%25A9%25E5%2586%2599%25E4%25B8%25BAioc%25EF%25BC%2589%25E4%25BB%2580%25E4%25B9%2588%25E6%2598%25AF%25E4%25BE%259D%25E8%25B5%2596%25E6%25B3%25A8%25E5%2585%25A5/" rel="tag">依赖注入（或称“控制反转”inversion-of-control，英文缩写为ioc）什么是依赖注入</a> , <a href="http://www.tommyhu.cn/tags/%25E4%25BB%2580%25E4%25B9%2588%25E6%2598%25AF%25E6%258E%25A7%25E5%2588%25B6%25E5%258F%258D%25E8%25BD%25AC/" rel="tag">什么是控制反转</a> , <a href="http://www.tommyhu.cn/tags/%25E8%25AE%25BE%25E8%25AE%25A1%25E6%25A8%25A1%25E5%25BC%258F/" rel="tag">设计模式</a>
]]>
</description>
</item><item>
<link>http://www.tommyhu.cn/alibaba-mayun-2012/</link>
<title><![CDATA[阿里巴巴本命年遇四道坎儿：马云危机感是内因]]></title> 
<author>tommyhu &lt;258546962@qq.com&gt;</author>
<category><![CDATA[奇趣网络信息]]></category>
<pubDate>Mon, 30 Jan 2012 01:35:56 +0000</pubDate> 
<guid>http://www.tommyhu.cn/alibaba-mayun-2012/</guid> 
<description>
<![CDATA[ 
	<a href="http://www.tommyhu.cn/attachment.php?fid=2879" class="highslide" onclick="return hs.expand(this)"><img src="http://www.tommyhu.cn/attachment.php?fid=2879" class="insertimage" alt="Highslide JS" title="点击图片放大" border="0" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/>2011年历经B2B平台欺诈事件、围攻淘宝商城事件等，寻求变革将淘宝一分为三；董事长马云称没想到本命年麻烦会这么多<br/><br/>随着2012年春节鞭炮声的远去，属兔的阿里巴巴集团(成立于1999年)，已度过了自己的第一个本命年。<br/><br/>这一年，用阿里巴巴集团董事长马云的话说，“从来没想过会这么痛，这么苦。我其实已经有预感，十二年是一个本命年，本命年麻烦多，但我没想到会有这么多”。<br/><br/>本命年在民间也被称为“坎儿年”，去年年初爆发的阿里巴巴B2B平台欺诈事件，成为阿里集团本命年的第一道坎儿。随后，淘宝网维权事件、支付宝所有权转移事件、围攻淘宝商城事件接踵而至。<br/><br/>面对这四道坎儿，麻烦缠身的阿里集团欲寻求变革和突破，比如将淘宝一分为三、联合国外资本尝试部分或全部收购雅虎股份、淘宝商城更名，以及推出独立购物搜索引擎一淘网等。这些变革与上述麻烦密切相关，甚至就是一体两面。<br/><br/>马云对此总结称：“无论是支付宝事件，还是年初阿里巴巴的诚信问题，跟别人去辩论没有用。要改变自己，完善自己，我想这就是我们所认为的建设性破坏”。<br/><br/>龙年的阿里集团该如何去“建设性破坏”呢？<br/><br/><span style="font-size: 18px;">第一道坎儿 2011年2月21日</span><br/><br/>B2B两千多家商户涉嫌欺诈<br/><br/>事由：在阿里巴巴B2B平台上，2009、2010年两年间分别有1219家和1107家的“中国供应商”客户涉嫌向国外买家行骗。有迹象表明B2B公司直销团队的一些员工，故意或者疏忽而导致一些涉嫌欺诈的公司加入阿里巴巴平台。<br/><br/>结果：CEO卫哲、COO李旭晖引咎辞职，集团首席人力官邓康明辞职、降级另用。欺诈账户被全部关闭，被认为负有直接责任的近百名销售员工受到包括开除在内的多项处理。<br/><br/>阿里巴巴公告披露欺诈事件<br/><br/>2011年2月21日，阿里巴巴集团子公司、在香港上市的阿里巴巴公司发布公告披露，其B2B平台上两千多家客户因涉嫌欺诈被关闭账户。<br/><br/>公告称，从2009年开始、贯穿2010年全年，该公司国际交易市场上有关欺诈的投诉时有发生。虽然从2010年第三季度开始，B2B公司已经开始关闭涉嫌账号并采取措施以图解决问题，但上述投诉仍未绝迹。<br/><br/>2011年年初，公司董事会委托专门的调查小组，对上述事件进行了独立调查，查实2009、2010年两年间分别有1219家(占比1.1%)和1107家(占比0.8%)的“中国供应商”客户涉嫌向国外买家行骗。公告称，上述账户已经被全部关闭。<br/><br/>马云随后在致员工的内部邮件中披露，上市公司CEO卫哲、COO李旭晖因此引咎辞职；阿里巴巴集团首席人力官邓康明因在问题发生期间担任上市公司人力资源总裁，也引咎辞去CPO职务，降级另用。<br/><br/>近百销售人员负直接责任<br/><br/>阿里巴巴B2B公司的“中国供应商”服务主要着眼点是沟通国外批发商与国内出口商。通过B2B的贸易社区平台，向国际上通过电子商务进行采购的客商，推荐中国的出口供应商，从而帮助出口供应商获得国际订单，也帮助全球240个国家超过五千万的注册用户寻找商机。<br/><br/>阿里巴巴上市公司的财报显示，公司的主要收入仍然来自于会员费收入，即向上述“中国供应商”和其他几类会员收取定额会员费，提供进入网上B2B平台进行交流、贸易的服务。这一模式决定了阿里巴巴的业绩增长主要取决于付费会员数增长。例如，2011年公司一季度财报显示，一季度营业收入同比增长25.5%；而付费会员数新增23000名，同比增加26.4%，二者增速相近。<br/><br/>着眼于人数增长带动业绩增长、业绩增长再决定一线销售人员收入的模式，客观上造成销售人员提升付费会员数的冲动。在欺诈事件后的公告中，阿里巴巴亦承认，有迹象表明B2B公司直销团队的一些员工，为了追求高业绩高收入，故意或者疏忽而导致一些涉嫌欺诈的公司加入阿里巴巴平台。先后有近百名销售人员被认为负有直接责任。这些人员将按照公司制度接受包括开除在内的多项处理。<br/><br/>提高会员诚信门槛补救<br/><br/>作为对这一事件的补救及反思，阿里巴巴上市公司在此后一年中，均在强调诚信建设与增值服务提升，一方面提高会员的诚信门槛，另一方面则降低营业收入对会员费的依赖。<br/><br/>2011年11月，阿里巴巴在三季报中披露，公司已推出国际交易市场的“实地认证”服务帮助提升供货商的合法性；第三方担保交易服务(测试阶段)以及付费的验货服务，为买家在采购时提供更多保护。2011年9月针对付费会员欺诈的投诉较去年同期减少75%。<br/><br/>在欺诈事件爆发后一个月，新任CEO陆兆禧表示，阿里巴巴当年计划加强对现有付费会员的服务，而非针对更快吸纳新会员。通过提升服务，加强会员的体验，希望借此稳固会员基础，令其可健康持续地增长。<br/><br/>第二道坎儿 2011年4月23日<br/><br/>淘宝网消费者买到假货后维权<br/><br/>事由：央视《焦点访谈》播出节目，列举了消费者自淘宝网购买假皮包后维权受阻；部分经销商称淘宝网未经授权即销售他们代理的品牌商品等案例。<br/><br/>结果：淘宝网有关人士回复称，在节目播出前，买到假皮包的消费者已经获得了假一赔三的赔付。马云公开面对媒体，逐条反驳或澄清该期节目中的案例，并就淘宝面临的猖獗造假现状大吐苦水。<br/><br/>马云称打击制假是根本<br/><br/>2011年4月23日，央视播出的焦点访谈中，列举案例表明，消费者在淘宝网购买标称为真皮的皮包后，发现为人造革；拥有某商品独家代理权的销售商，发现淘宝上有未经授权的商品出售。<br/><br/>这一报道激起了淘宝网的强烈反弹。马云于4月27日公开对媒体表示，“淘宝人看了最近的一些报道，心情不好，火气也挺大。今天我们就认真做一个探讨。因为毕竟我们没有往肉里面加过瘦肉精，也没往牛奶里面搞过三聚氰胺”。<br/><br/>口才极佳的马云在这句看似气话的表达里委婉地表明了淘宝网在制假售假上的无奈感受：淘宝是一个销售交易平台，不介入直接生产、制造环节，其自身也是制假售假行为的受害者。<br/><br/>马云在后续的发言中明确了这一含义。他表示，淘宝能够很容易地查出谁在销售假货，因为有坚实的交易记录和交易数据；“但我们只是一家公司，我们能做什么？我们明知道这个是一个骗子，我们明知道这家伙就是在造假，但我们没把他关起来，我们没把他投进监狱，因为我们没有这个权力。”<br/><br/>马云亦披露了淘宝在主动介入打假中的作为，他直接点名指出，淘宝曾向福建莆田地方政府举报制假集团线索，但毫无结果；后来请杭州警方协助，才打掉了一部分售假团伙。“在这个巨大的黑色产业链中，如果不把制假基地打掉，我们大家永远是在瞎扯”。<br/><br/>淘宝称投入2000客服维权<br/><br/>对于央视披露的几个案例，淘宝网有关人士回复称，在节目播出前，买到假皮包的消费者已经获得了假一赔三的赔付，相关款项打到了该消费者的支付宝上。但对于经销商指责淘宝侵权销售独家代理商品的案例，淘宝网在回复该经销商时表示，中国大陆的独家代理并不能证明淘宝网店的销售行为已经构成侵权，而电子商务和传统的商业模式完全不同。<br/><br/>由于淘宝网拥有上百万店家的庞大数量，承担的打击售假任务的确异常繁重。时任淘宝网CFO的张勇透露，淘宝2010年全年接到1260万来电投诉，占交易总量万分之六；接受并处理维权216万起，仅仅在这一个环节上，淘宝即投入了2000名客服人员。淘宝采用的打假模式亦基本符合互联网的平台原则，即权利方或消费者主张、举报，淘宝再进行事后清查。这导致其平台上的打假相对于售假产生了一定的滞后性。<br/><br/>淘宝再入“恶名市场”名单<br/><br/>电商分析人士认为，既冲在了电商渠道与传统渠道激烈冲突的第一线，也承担了电子商务初期鱼龙混杂、真假掺杂的客观现状，导致淘宝网同时承担了过多的责任与义务，这成为后来的淘宝商城独立乃至提高进入门槛的重要原因。<br/><br/>2011年12月，淘宝进入美国贸易代表办公室“恶名市场”名单。美国贸易代表办公室认为，淘宝虽然在打击假冒产品方面取得了“显著进展”，但要杜绝这一问题还有“很长的路要走”。<br/><br/>中国商务部曾对此表示了严重不满，称“中方认为美方应该全面客观反应中国政府和企业在知识产权保护方面所做的努力和取得的进步”。<br/>第三道坎儿 2011年5月10日<br/><br/>支付宝所有权转移引道德争议<br/><br/>事由：雅虎提交的公开文件显示阿里巴巴集团已经将支付宝的所有权转让给马云控股的一家纯内资公司。支付宝随后表示这是根据央行有关第三方支付牌照的规定，为了保证支付宝获得牌照而做的安排。<br/><br/>结果：阿里巴巴集团三大股东阿里巴巴、雅虎、软银宣布达成协议，支付宝的控股公司承诺在上市时予以阿里巴巴集团一次性的现金回报。回报额将不低于20亿美元且不超过60亿美元。<br/><br/>支付宝事件致雅虎股价大跌<br/><br/>雅虎公司2011年5月10日提交给SEC一份公开文件显示，阿里巴巴集团已经将支付宝的所有权转让给马云控股的一家纯内资公司。<br/><br/>这一消息的披露导致雅虎股价大跌。因为大部分投资者认为，在雅虎持有的40%阿里巴巴股份中，最有价值的资产就是尚未上市的淘宝网和支付宝。支付宝控制权脱离集团进入马云控制的另一家公司，将导致雅虎的资产进一步缩水。<br/><br/>两天后，支付宝发表官方声明确认所有权转移一事，并表示这是根据央行有关第三方牌照的规定，为了保证支付宝获得牌照而做的安排。此前，央行在第三方支付企业的管理办法中只详细规定了内资企业获得牌照的办法，而由于中国大多数互联网企业均采用VIE（协议控制）结构，因此作为拥有两个外资大股东雅虎、软银的阿里巴巴子公司的支付宝，其股权结构中同样存在外资成分。<br/><br/>业内论战马云商业道德<br/><br/>雅虎后来的声明披露，2011年3月31日，雅虎和软银收到阿里巴巴集团关于2笔交易的通知。这2笔交易没有通知阿里巴巴集团董事会和股东，也没有得到他们的批准。第一笔交易是2010年8月支付宝所有权的转移。第二笔交易是2011年第一季度对支付宝实际的分拆。<br/><br/>马云则于2011年6月14日首次公开对媒体表示，阿里巴巴董事会曾以纪要形式授权管理层采取措施获取支付牌照。但“做出（控制权转让）协议的事雅虎董事和软银董事都知道。不是说他们不知道，而是没有达成协议。在没有达成协议的情况下，第二天就要递交（支付牌照申请）报告了，我能怎么办？”<br/><br/>在评价自己做出的这一决定引起的争议时，马云表示，尽管这个决定不完美，甚至“也可以说是一个艰难的决定”，但它是正确的。<br/><br/>财新掌门人胡舒立、易凯资本CEO王冉随后均发表长文，认为马云此举有违商业道德，由此引发支付宝事件大论战，史玉柱等企业家公开支持马云，称支付宝涉及国家金融安全，不能由外资掌控。<br/><br/>马云有意“收购雅虎”<br/><br/>阿里巴巴、雅虎、软银三方于2011年7月29日达成协议，支付宝的控股公司承诺在上市时予以阿里巴巴集团一次性的现金回报。回报额为支付宝在上市时总市值的37.5%（以IPO价为准），回报额将不低于20亿美元且不超过60亿美元。支付宝事件由此尘埃落定。<br/><br/>整个事件中，由于雅虎持有阿里巴巴集团近40%的股份，马云深切体会到董事会不占优势的后果。在雅虎于当年9月解雇CEO卡罗尔·巴茨后，马云随后在斯坦福大学演讲中表示，有兴趣“收购雅虎”。尽管此后再无权威渠道表态，但国外媒体和投行分析认为，阿里巴巴更可能采取的措施是回购雅虎持有的股份，这样既可以使雅虎获得充裕的现金，并将精力集中在其广告主业上，也可以使阿里巴巴获得更多的自主权。<br/><br/>第四道坎儿 2011年10月11日<br/><br/>淘宝商城新规引发小商户围攻<br/><br/>事由：淘宝商城2011年10月10日推出2012年度新招商办法和规则调整公告，大幅提升了进驻商家的技术服务费和保证金。由于认为该规定人为拉开了大卖家与小卖家的差距，10月11日晚间开始，淘宝商城一些大卖家开始遭遇“订单潮攻击”。组织攻击的语音频道中最多时曾聚集五万人。<br/><br/>结果：马云宣布淘宝商城的新规将对大部分老卖家推迟一年实行。他同时表示，这次推出新规则的过程中沟通出了问题，他愿意道歉；但不接受以攻击别人店铺的方式表达的意见，“原则问题决不妥协”。<br/><br/>新规提高商家准入门槛<br/><br/>2011年10月11日爆发的围攻大卖家事件集中体现了淘宝模式积累已久的冲突。尽管淘宝官方于11月26日发布消息称，围攻事件的组织者因销售假冒LV包已经落入法网，围攻事件中部分组织者因信用炒作、销售违规物品曾被淘宝处罚，但在整个商城事件中，有大量小卖家通过微博、语音频道等方式倾诉了对商城提高门槛措施的愤怒。<br/><br/>根据淘宝商城的新规定，以前每年最低6000元的技术付费提高至3万元或6万元，在年销售额达到36万至120万时（数额因销售品类不同），这部分费用将予以返还。此外，商家进驻淘宝商城将根据所经营或者代理的品牌缴纳违约保证金。<br/><br/>部分小卖家表示，这将导致自己在淘宝商城的资金沉淀数额大幅度增加，至少要缴纳6万余元各类费用，其中至少冻结在支付宝中5万元。<br/><br/>淘宝商城强调B2C定位<br/><br/>派代网分析师李成东认为，淘宝商城出台的新规，表面上提高了商城的门槛，似乎在排挤中小电商。但实际上，从近几年国内电商发展的趋势来看，京东（微博）商城、卓越几家大型B2C网站对淘宝构成了巨大威胁。所以说，这个门槛实际上是“京东”等对手们提高的，淘宝新规不过是一个被动调整和跟进调整的策略。<br/><br/>李成东称，很多购物网站都有清晰的定位，如：鞋类B2C垂直销售的名鞋库、家居专营的齐家网、母婴系列的红孩子等，与这些针对性强的垂直销售网站相比，淘宝扶持店家、贴补消费者以扩大市场份额的做法受到了挑战。事实也证明，从品类分析来看，淘宝目前只在服装服饰、家居等品类占有一定优势，而在家电、3C、图书音像、综合百货等领域却远远不敌一些B2C网站。<br/><br/>淘宝商城负责人张勇亦从侧面证实了B2C化的打算：他在回应围攻事件时表示，很多人可能对淘宝商城和淘宝网（C2C）这两个品牌的定位发生了一些混淆。淘宝网从来都是创业者的乐园，永远都是中小卖家从无到有的乐园。而淘宝商城在阿里巴巴集团的定位上，从开始就是一个B2C平台，商城必须是一个真正的企业化经营的场所。从这个角度来讲，商城新规没有提高标准，而是制定了最低标准，这是一个进入门槛。<br/><br/>商户减少一万多家<br/><br/>2012年元旦刚过，电子商务网站亿邦动力网对淘宝商城的商家总数进行了统计。数据显示，店铺总数为47759家；而在2011年12月28日，仍有61183家在列。总数减少一万多家。<br/><br/>淘宝商城在2011年末重新公示的2012年招商标准中明确指出，如未在2011年12月20日完成续签申请的提交，或未在12月26日之前完成年费的缴纳及保证金的冻结，店铺将在2011年12月31日被监管并退出商城。<br/><br/>2012年1月11日，淘宝商城更名为“天猫”。张勇否认了这一更名代表着去淘宝化，仅表示这是为了拥有一个“时尚性感”的品牌。马云随后在阿里内部论坛透露，这个名字他想了十几天，又跟人讨论了很多天。最后他总结说，“这么庸俗而又二的好名字……我们不改了，总比啥仓基新村以及那些又东又当的好吧！”<br/><br/>■ 马云声音<br/><br/>对于这样触犯商业诚信原则和公司价值观底线的行为，任何的容忍姑息都是对更多诚信客户、更多诚信阿里人的犯罪！——谈B2B欺诈事件<br/><br/>在这个巨大的黑色产业链中，如果不把制假基地打掉，我们大家永远是在瞎扯。——谈淘宝网遭遇维权<br/><br/>尽管这个决定不完美，甚至也可以说是一个艰难的决定，但它是正确的。——谈支付宝所有权转移<br/><br/>今天来闹事的人，也不是毫无道理，我一直在仔细听，听了很多，我们政策制定的想法是好的，方法需要更多完善，需要沟通。——谈围攻淘宝商城事件<br/><br/>■ 延伸 危机感或推动阿里继续转型<br/><br/>阿里巴巴在本命年遭遇的这一串踉跄步伐，有内因，也有外因。<br/><br/>内因中的一个重要因素，来自于马云内心深处的危机感。2008年起，马云即在多个场合强调要做好过冬的准备，因为“我们对全球经济的基本判断是经济将会出现较大的问题，未来几年经济有可能进入非常困难的时期”。<br/><br/>尽管中国经济仍然保持高速发展，但马云始终对经济形势持悲观态度。一位阿里集团人士对记者透露这种危机感的来源：“无论是支付宝还是淘宝、B2B，都在国内相关行业中占据了举足轻重的地位；与之相应，这几家公司掌握的海量数据，足以反映出零售、制造业和相关服务业的一些趋势。从这些数据看，马总的过冬论绝不是危言耸听，而且远远没有过时”。<br/><br/>这种危机感，使马云带动阿里集团高层加速实现阿里这艘大船的转型与稳定目标。在B2B领域，要立足于提高诚信、提高增值服务收入，以应对经济转冷可能带来的会员增速下降，摆脱对会费收入的依赖，着眼于提供更具深层价值的收费服务。在支付领域，在取得了支付宝的绝对主控权后，则要在保持零售领域领先的基础上发力于B2B支付——毕竟，金融这种靠人与人打交道的生意，搞定一个大户可能相当于发展数百上千个散户，而付出的人力、售后成本则比后者合算得多。去年底接连在旅游、航空领域推出新服务，应该可视作在这一领域的试水。<br/><br/>淘宝目前已扩张成为淘宝集市（C2C和小型B2C）、天猫（B2C）、一淘（搜索）和聚划算（团购）等几个板块。天猫在更名、确立新规后，一步步攫取B2C领域的市场份额，但是，作为购物平台，其收入可能更多来自于广告、增值服务，而不会像B2B那样靠服务费等收入盈利。相关数据透露，淘宝在2010年的广告收入已经接近百亿元人民币。<br/><br/>因此，在整个龙年之中，大淘宝的战略将是培养一淘的入口能力、保证淘宝的流量含金量，并以这二者的资源继续支撑天猫扩大B2C领域的市场份额。而这个战略面临的最大挑战并非来自外部，而是淘宝小商家与商城大商家之间争夺流量、划分入口的矛盾。<br/><br/>B04-B05版采写/本报记者 阳淼<br/>Tags - <a href="http://www.tommyhu.cn/tags/%25E9%2598%25BF%25E9%2587%258C%25E5%25B7%25B4%25E5%25B7%25B4%25E6%259C%25AC%25E5%2591%25BD%25E5%25B9%25B4%25E9%2581%2587%25E5%259B%259B%25E9%2581%2593%25E5%259D%258E%25E5%2584%25BF%25EF%25BC%259A%25E9%25A9%25AC%25E4%25BA%2591%25E5%258D%25B1%25E6%259C%25BA%25E6%2584%259F%25E6%2598%25AF%25E5%2586%2585%25E5%259B%25A0/" rel="tag">阿里巴巴本命年遇四道坎儿：马云危机感是内因</a> , <a href="http://www.tommyhu.cn/tags/%25E9%2598%25BF%25E9%2587%258C%25E5%25B7%25B4%25E5%25B7%25B4/" rel="tag">阿里巴巴</a> , <a href="http://www.tommyhu.cn/tags/%25E9%25A9%25AC%25E4%25BA%2591/" rel="tag">马云</a> , <a href="http://www.tommyhu.cn/tags/%25E9%2598%25BF%25E9%2587%258C%25E5%25B7%25B4%25E5%25B7%25B4%25E8%2580%2581%25E6%2580%25BB%25E9%25A9%25AC%25E4%25BA%2591/" rel="tag">阿里巴巴老总马云</a>
]]>
</description>
</item><item>
<link>http://www.tommyhu.cn/403-wampserver-Forbidden/</link>
<title><![CDATA[wampserver Forbidden]]></title> 
<author>tommyhu &lt;258546962@qq.com&gt;</author>
<category><![CDATA[PHP]]></category>
<pubDate>Sun, 29 Jan 2012 09:04:09 +0000</pubDate> 
<guid>http://www.tommyhu.cn/403-wampserver-Forbidden/</guid> 
<description>
<![CDATA[ 
	wampserver可以快速完成php环境的搭建，访问localhost没有问题，内网电脑通过ip访问提示没有权限<br/><a href="http://www.tommyhu.cn/attachment.php?fid=2877" class="highslide" onclick="return hs.expand(this)"><img src="http://www.tommyhu.cn/attachment.php?fid=2877" class="insertimage" alt="Highslide JS" title="点击图片放大" border="0" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/>解决方案：<br/><a href="http://www.tommyhu.cn/attachment.php?fid=2878" class="highslide" onclick="return hs.expand(this)"><img src="http://www.tommyhu.cn/attachment.php?fid=2878" class="insertimage" alt="Highslide JS" title="点击图片放大" border="0" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><span style="color: #FF0000;"><span style="font-size: 18px;">切换到在线状态</span></span>即可<br/>403-wampserver-Forbidden wampserver无法访问 wampserver禁止访问 wampserver<br/>Tags - <a href="http://www.tommyhu.cn/tags/403-wampserver-forbidden/" rel="tag">403-wampserver-forbidden</a> , <a href="http://www.tommyhu.cn/tags/wampserver%25E6%2597%25A0%25E6%25B3%2595%25E8%25AE%25BF%25E9%2597%25AE/" rel="tag">wampserver无法访问</a> , <a href="http://www.tommyhu.cn/tags/wampserver%25E7%25A6%2581%25E6%25AD%25A2%25E8%25AE%25BF%25E9%2597%25AE/" rel="tag">wampserver禁止访问</a> , <a href="http://www.tommyhu.cn/tags/wampserver/" rel="tag">wampserver</a>
]]>
</description>
</item>
</channel>
</rss>
