﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>博客园-日出而作，日落而息，凿井为饮，耕田为食，帝力于我何有哉！</title><link>http://www.cnblogs.com/xiaotie/</link><description>勤以修身 俭以养德</description><language>zh-cn</language><lastBuildDate>Mon, 06 Jul 2009 14:49:28 GMT</lastBuildDate><pubDate>Mon, 06 Jul 2009 14:49:28 GMT</pubDate><ttl>60</ttl><item><title>假如我是海洋</title><link>http://www.cnblogs.com/xiaotie/archive/2009/06/29/1512963.html</link><dc:creator>xiaotie</dc:creator><author>xiaotie</author><pubDate>Mon, 29 Jun 2009 01:43:00 GMT</pubDate><guid>http://www.cnblogs.com/xiaotie/archive/2009/06/29/1512963.html</guid><wfw:comment>http://www.cnblogs.com/xiaotie/comments/1512963.html</wfw:comment><comments>http://www.cnblogs.com/xiaotie/archive/2009/06/29/1512963.html#Feedback</comments><slash:comments>33</slash:comments><wfw:commentRss>http://www.cnblogs.com/xiaotie/comments/commentRss/1512963.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/xiaotie/services/trackbacks/1512963.html</trackback:ping><description><![CDATA[<p>我对金色海洋的&#8220;框架&#8221;的最大批评是它的紧耦合。有没有可能即便捷、又松耦合呢？ 
<p>先整理下海洋的目前需求： 
<p>（1） 尽量用鼠标拖拉，操作尽量简单 
<p>（2） 要集成权限管理，不同的权限看到的项不一样，能进行的操作也不一样 
<p>（3） 要集成验证 
<p>（4） 要有一个TreeView类似的控制板 
<p>（5） 要有一个List模式的项列表，要有分页 
<p>（6） 要有一个DetailList或FormView模式的单项查看、修改、插入的东东 
<p>（7） 强大的搜索选择框 
<p>（8） 客户需求发生变化了，要能够很方便的更改 
<p>在此基础上我再加几条： 
<p>（1） 要松耦合 
<p>（2） 要分层 
<p>假如我是海洋，我会这样设计这个系统。纸上谈兵，莫怪，没时间编码，我没那么复杂的需求，现有Asp.Net控件已经够我用了，我也没动力去编码实现。 
<p>系统结构： 
<p><a href="http://images.cnblogs.com/cnblogs_com/xiaotie/WindowsLiveWriter/7dacf8a2296a_8876/clip_image002_2.gif"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://images.cnblogs.com/cnblogs_com/xiaotie/haiyang_fk.jpg" width="784" height="909" /></a> 
<p>系统分为四大View，要自己开发，与现有的那些Asp.Net 的View类似。具体功能在后面描述、 
<p>职责划分： 
<p>（1） Filter 负责权限控制。这个权限控制，分三方面： 
<p>a) 控制ListView中显示那些条，不同人看到的条数不一样，这是第一步过滤 
<p>b) 控制实体属性对用户的可见性，这是第二步过滤 
<p>c) 控制用户的行为，过滤四大View的几个标准行为 
<p>（2） DataSource负责提供数据和标准行为，DataSource的另一个责任是为IDE提供实体的元数据，这样方便IDE生成View部分的代码 
<p>（3） View就是显示了 
<p>（4） Database，linq2sql就不说了 
<p>下面说四大View： 
<p>（1） Dynamic View 
<p>这个类似于FormView，只是可以根据Filter动态生成。实质上就是一个FormView加上一步遍历Filter，找到那些没有授权的属性对应的子控件，把它从DynamicView中去掉。 
<p>（2） ListView 
<p>这个也就是现有的ListView加上一个Filter。 
<p>（3） TreeView 
<p>得新开发一个。设计一种树型数据结构的标准接口，然后再用Filter过滤节点，最后生成UI端的可见界面。 
<p>（4） SearchOptionsView 
<p>这个数据源就是实体类，根据Filter显示给用户一些可填项。然后动态的构造查询表达式。（貌似用linq有些困难，不熟悉linq，可能这里有点技术风险，实在不行，可以用上动态编译技术）。 
<p>下面来看看需求的实现情况： 
<p>l 尽量用鼠标拖拉，操作尽量简单: 数据库建模-&gt;biu的一下就生成数据库了-&gt;VS里拖一下，biu的一下就生成linq层了，然后拖DataSource,拖View，biu的一下又生成了。Filter也可完全由数据库权限表来生成。上面控件，全部都可以biu的一下生成。 
<p>l 要集成权限管理，不同的权限看到的项不一样，能进行的操作也不一样: Filter来负责 
<p>l 要集成验证:这个前面没讲，看加到哪一步吧，或者直接在实体上配置属性。 
<p>l 要有一个TreeView类似的控制板:有了 
<p>l 要有一个List模式的项列表，要有分页:有了 
<p>l 要有一个DetailList或FormView模式的单项查看、修改、插入的东东:可以 
<p>l 强大的搜索选择框:可以 
<p>l 客户需求发生变化了，要能够很方便的更改 
<p>加字段&#8212;写条sql语句，扔进数据库；给实体类加个属性，匹配一下，搞定； 
<p>删字段&#8212;改数据库，改实体类 
<p>改字段名字&#8212;该实体类的属性 
<p>&#8230;&#8230; 
<p>l 要松耦合:是 
<p>l 要分层:是 
<p>几点评价： 
<p>（1） 对比金色海洋的原架构可能略微复杂一点点，仅靠鼠标也基本可以完成主要操作，但弹性要大太多太多了。各大View可以想怎么玩就怎么玩，而原架构UI层的限制性过大。 
<p>（2） 解耦比较彻底，分层比较清晰，这好处谁用谁知道啊。并且，这样解耦和分层，并不会增加什么工作量。都是 biubiubiu的就搞定了。（奥特曼！） 
<p>（3） 职责清晰，好维护 
<p>（4） 数据分离&#8212;&#8212;数据库就是数据库，元数据就是元数据，UI数据就是UI数据，不混在一起，这样，搞什么不同语言的版本也好，搞什么别的花样也好，都留够了足够的空间 
<p>（5）4大View也可以分开用，适用性广了很多 
<p>那么，四大View之间关系怎么协调呢？写几个Mediator，实现最常用的几个场景即可。 
<p>上面这些话说起来轻巧，实现起来可不轻巧。:P </p> <img src ="http://www.cnblogs.com/xiaotie/aggbug/1512963.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/48008/" target="_blank">IBM发布全球首款开源智能编译器</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>寻找自己的道路——与技术同胞共勉</title><link>http://www.cnblogs.com/xiaotie/archive/2009/06/05/1496844.html</link><dc:creator>xiaotie</dc:creator><author>xiaotie</author><pubDate>Fri, 05 Jun 2009 04:01:00 GMT</pubDate><guid>http://www.cnblogs.com/xiaotie/archive/2009/06/05/1496844.html</guid><wfw:comment>http://www.cnblogs.com/xiaotie/comments/1496844.html</wfw:comment><comments>http://www.cnblogs.com/xiaotie/archive/2009/06/05/1496844.html#Feedback</comments><slash:comments>17</slash:comments><wfw:commentRss>http://www.cnblogs.com/xiaotie/comments/commentRss/1496844.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/xiaotie/services/trackbacks/1496844.html</trackback:ping><description><![CDATA[<p>每个人的幸福都是不一样的。我喜欢田园式的生活，在人多的地方总是不舒服。</p>
<p>对我来说，最幸福莫过于在工作中做着自己喜欢的事情。闲暇时，在能够眺望江边的地方，端着一杯红酒，一个人细细的喝。</p>
<p>为了这种生活方式，离开了北京，来到家乡所在的这个三线城市，寻找自己的道路。经过一年的探索，颇有心得。</p>
<p>大体上，我对自己走过的路和即将走的路划分为七个阶段：自信=&gt;意志=&gt;布局=&gt;切入点=&gt;团队=&gt;渠道=&gt;产品</p>
<p>第一关：自信</p>
<p>先说说我这个城市。这是一个什么样的城市呢？依山傍水，适合生活。几乎没有IT，也没几个真正的程序员。一周上班六天，平均工资1000元上下。程序员的工资在1000-3000左右。要在这个城市探出自己的道路，首要的一点就是自信。没有自信，活不下去。这个城市的年轻人大多非常迷茫，对自己的前途缺乏信心，有冲劲的都往大城市里跑了。回来之初，我也迷茫了很久，迷茫的时候，就在WOW里泡着，观察那个世界。在WOW里，作为一个萨满，傻乎乎的扛着个盾晃晃荡荡的升级。当时赚钱，也就是打打元素之火每天赚个几十G。后来，不断的观察不断的总结，成长为日入近万G的大奸商。哦，俺要走的也正是这一条路子。生活总是要继续的，在WOW上也学不到更多的东西了，就离开了WOW，开始了一个人的征途。</p>
<p>支持这条路子的核心力量就是自信。在小城市里不缺乏聪明的人，这些聪明的人大部分却并不优秀，因为他们缺乏自信，缺乏自己走路的勇气，从而甘于平庸。没有自信，走不出这第一步。</p>
<p>第二关：意志</p>
<p>在小城市做IT，相当锻炼人意志。这里就像一片沙漠。市场，没有。程序员，没有。找人说话也找不到。曾经组织过次聚会，包括我在内到了2个人。想要向下走，没有相当强的意志是走不下去的。彷徨，彷徨，最终还是坚持走了下来。</p>
<p>第三关：布局</p>
<p>所谓布局就是决定做什么事和不做什么事。经过相当久的考虑，我决定远离Web开发，远离本地市场，甚至远离数据库。做Web开发和数据库开发的太多了，你呆在偏僻小地，做这些完全没有优势，做本地市场呢，又没客户资源，关系又比不上已经在本地深耕数年的小IT公司。于是宁可荒芜这些技能，也不趟这个混水。最后决定，人做我不做，人不做我做，在偏僻的地方，做外面的市场，做深入的开发，做点做线不做面。为什么呢？</p>
<p>（1）本地的工资摆在那里，做本地的就算做起来了，利润也不丰厚，还累死累活，要赚外面的钱，在本地花<br />（2）要赚外面的钱，如果做Web开发和数据库开发，根本无法和当地公司竞争<br />（3）所以只能做别人不做的，或者别人做不了的，做技术要求高的。而我恰恰有相当多的研发性项目开发和管理经验，正适合做这些。<br />（4）所要做的东西，必须通过网络可以展示，可以远程技术支持。</p>
<p>第四关：切入点</p>
<p>切入点是个很关键的东西，综合上面第三关所讨论的内容，结合自己的技术能力和技术经验，然后结合需求情况，最终我从协议分析这一块切入进去了。哦，不是外挂那种分析。从QQ协议，到MSN协议，到YMSG协议，当然，还有Http这个最简单的，从有参考资料的分析，到无参考资料的完全黑箱分析，到现在在某方面的协议分析已经达到世界领先水平了。从协议分析，切入到验证码识别，从验证码识别，切入到车牌识别，从车牌识别，切入到模式识别、图像处理和机器视觉，而模式识别结合前面的协议方面的工作又可切入进NLP，客服机器人，有这些为基础，我又想切入淘宝店铺工具（哦，还没时间做，并且目前也没找到一个好的切入点）。因为对图像处理的了解，我现在又成功切入进Flex开发了。以上各点貌似很散，也是也挺集中，就是：协议分析与设计、机器智能和图像处理，这三者是相辅相承的。</p>
<p>在技术的选择上，是敏捷敏捷再敏捷！数据库尽量db4o，前台尽量sl/flex（面向最终客户的就不能选择sl）。工具软件尽量用C#开发。尽量只做自己擅长的，不做别人擅长的。</p>
<p>我有一个特点，就是会一大票语言，能用来干活的就有C,C++,C#,Java,Python,matlab,actionscript,javascript,tcl。去上班的话，这是缺点&#8212;&#8212;泛而不精。自己干的话，这反而成了优点了。因为我接的项目，很多属于偏门项目，这些项目往往都有开源的实现，但这种实现，要么只有C版本，要么只有Matlab的，要么只有Java的，会这些语言可以最大范围的参考，降低技术风险。缺点在不同环境下可以成为优点。</p>
<p>第五关：团队</p>
<p>通过前面的不断切入，形成了一系列案例，也积累了良好的信用，业务量是翻番的在长，最后自己的时间成了瓶颈。前两天小试了一把，谈了5个项目（2个flex，2个图像处理，那2个flex项目的核心也是图像处理），4个有合作意向，自己干不完，没办法，只能选择1个。</p>
<p>这就到了第五关了&#8212;&#8212;一个人干不过来，得团队了。</p>
<p>但我前面说过，本地是人才沙漠。我的观点是宁缺勿滥，仔细挑选，从头培养。俺的挑选标准是：有激情、品德要好、数学基础要好、有自学能力。目前在带徒弟，看成长情况怎么样。</p>
<p>不着急，用不着太多的人，培养团队的同时开始摸索渠道。那个也得时间。</p>
<p>第六关：渠道</p>
<p>我最终想做的是产品。而在偏远地区做产品，想做成功，渠道和推广非常重要，不然的话，就算做出来了，也只能拿小头。在国内，还要考虑盗版因素。我现在只是有大致的产品方向，做也是玩票性质的，目的是摸索渠道和商业模式，想摸摸国内的和国外的两种市场。国外的只有试探性的探索。国内的，嘿嘿，前面的开发已经形成了一系列的推广工具了。</p>
<p>第七关：产品</p>
<p>做了这么多年项目，累死了。最终的目的还是产品和平台。我的征途是星辰大海（搞技术的，也得有技术的浪漫）。。。。。。目标是5-10年后，互联网3D化之后的虚拟现实（切入点？俺已有一个初步考虑的切入点）。短期（5年内）是开发一些工具类型的产品和推广平台。</p>
<p>我是学材料的，在纳米材料界有一个名言&#8212;&#8212;Build The World Atom By Atom。那么，在可见的未来，虚拟世界就是&#8212;&#8212;Build The World Bit By Bit. 协议、图像、机器视觉、3D、语音，正是构成虚拟世界的因素，前面的种种，都是为这个做铺垫。未来的制造业将是分子制造，于是Atom和Bit将会碰撞&#8212;&#8212;Build The World Atom By Atom, Bit By Bit!</p>
<p>但还是那句话，只做小，不做大，做点做线不做面。</p>
<p>什么程序员30岁之后转行之类的鬼话。俺到今年，才开始感觉进入了程序开发的大门，写程序时开始有一种美感，有那种几十人骑着战马冲击奥山大桥的壮烈。做一辈子的技术又何妨。</p>
<p>上述路径相当保守，指导思想不是胜利，而是避免失败。&#8220;无恃其不来,恃吾有以待之,无恃其不攻,恃吾有所不可攻也。&#8221;</p><img src ="http://www.cnblogs.com/xiaotie/aggbug/1496844.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/48007/" target="_blank">IE颓势不减 微软下月公布最新浏览器架构</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>有道难题，我的OO解法</title><link>http://www.cnblogs.com/xiaotie/archive/2009/06/03/1495593.html</link><dc:creator>xiaotie</dc:creator><author>xiaotie</author><pubDate>Wed, 03 Jun 2009 10:41:00 GMT</pubDate><guid>http://www.cnblogs.com/xiaotie/archive/2009/06/03/1495593.html</guid><wfw:comment>http://www.cnblogs.com/xiaotie/comments/1495593.html</wfw:comment><comments>http://www.cnblogs.com/xiaotie/archive/2009/06/03/1495593.html#Feedback</comments><slash:comments>8</slash:comments><wfw:commentRss>http://www.cnblogs.com/xiaotie/comments/commentRss/1495593.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/xiaotie/services/trackbacks/1495593.html</trackback:ping><description><![CDATA[摘要: 本文背景是下面3篇文章："有道难题"之ealget的算法 看有道难题比赛有恶心感 ，付源码挑战，博客园目前纯速度最快。有道难题之OO正文:第一个类是Cell类（萝卜坑）： CodeCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->1publicclass&nbsp;&nbsp;<a href='http://www.cnblogs.com/xiaotie/archive/2009/06/03/1495593.html'>阅读全文</a><img src ="http://www.cnblogs.com/xiaotie/aggbug/1495593.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/48002/" target="_blank">竞争日趋激烈 微软欲借 Windows 7 扭转战局</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>循证架构--寻找最适合自己的架构</title><link>http://www.cnblogs.com/xiaotie/archive/2009/05/21/1485795.html</link><dc:creator>xiaotie</dc:creator><author>xiaotie</author><pubDate>Wed, 20 May 2009 21:53:00 GMT</pubDate><guid>http://www.cnblogs.com/xiaotie/archive/2009/05/21/1485795.html</guid><wfw:comment>http://www.cnblogs.com/xiaotie/comments/1485795.html</wfw:comment><comments>http://www.cnblogs.com/xiaotie/archive/2009/05/21/1485795.html#Feedback</comments><slash:comments>13</slash:comments><wfw:commentRss>http://www.cnblogs.com/xiaotie/comments/commentRss/1485795.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/xiaotie/services/trackbacks/1485795.html</trackback:ping><description><![CDATA[<p>没有最好的架构，只有最合适的架构。循证架构是《Expert One-on-One J2EE Development without EJB》一书中推崇的架构思路，用俺们的话说就是摸着石头过河，找最适合自己的架构。
<p>俺现在soho，大活不多，小活不断。我的工作具备以下特点：
<p>（1） 根本没摸清楚需求的时间。需求都是从原型到Demo到版本1到版本2探索出来的。经常需求变化非常大，因此，必须以敏捷方法为基础；
<p>（2） 一般没多少数据需要存储，顶多百万级；
<p>（3） 需要极度的压榨开发效率。一个工作，10天完成和20天完成，那收益前者就是后者的两倍。
<p>在上面（1）-（3）驱动下，俺摸索出的架构见下图：
<p align="center"><a href="http://images.cnblogs.com/cnblogs_com/xiaotie/WindowsLiveWriter/33b8fa778f3e_52CF/myarch_2.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="myarch" border="0" alt="myarch" src="http://images.cnblogs.com/cnblogs_com/xiaotie/WindowsLiveWriter/33b8fa778f3e_52CF/myarch_thumb.png" width="376" height="552" /></a> </p>
<p>从下往上，简单说说：
<p>（1） 数据库：db4o。谁用谁知道，哈哈，爽。什么ORM，SQL，DataSet，统统是过眼云烟了。一切都是普通对象。数据库几乎是0设计。数据接入也非常非常的简单。
<p>（2） Db4o之上得有一个逻辑层，来应付需求变化。这一层主要就是各种实体对象，需要良好的设计，否则，应付不了需求的变化。这一块我一般要设计比较完备的event体系，便于后期修改与组合。
<p>（3） 服务层：主要是RIA应用需要。如果是Winform程序，不用这一层。
<p>（4） UI逻辑层：最开始没弄这一层，最后鉴于在界面那一块太耗时间，就加了这么一层。这一层主要是：
<p>a) 对于单个控件，将控件的常用操作逻辑封装成扩展方法；
<p>例子： Winform程序中的Invoke方法使用起来很烦人，涉及到多个线程，还要判断多次 IsHandleCreated == true（经常忘记，导致bug）。于是，需要将它封装成扩展方法。
<p>代码如下： </p>
<div class="cnblogs_code"><img id="Code_Closed_Image_055551" onclick="this.style.display='none'; document.getElementById('Code_Closed_Text_055551').style.display='none'; document.getElementById('Code_Open_Image_055551').style.display='inline'; document.getElementById('Code_Open_Text_055551').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" height="16"><img style="display: none" id="Code_Open_Image_055551" onclick="this.style.display='none'; document.getElementById('Code_Open_Text_055551').style.display='none'; getElementById('Code_Closed_Image_055551').style.display='inline'; getElementById('Code_Closed_Text_055551').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" height="16"><span id="Code_Closed_Text_055551" class="cnblogs_code_Collapse">Code</span><span style="display: none" id="Code_Open_Text_055551"><br />
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;ControlFuncContext<br />
<img id="Codehighlighter1_34_624_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_34_624_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_34_624_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_34_624_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_34_624_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_34_624_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_34_624_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_34_624_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_34_624_Closed_Text"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_34_624_Open_Text"><span style="color: #000000">{<br />
<img id="Codehighlighter1_61_82_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_61_82_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_61_82_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_61_82_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_61_82_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_61_82_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_61_82_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_61_82_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;Control&nbsp;Control&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_61_82_Closed_Text"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_61_82_Open_Text"><span style="color: #000000">{&nbsp;</span><span style="color: #0000ff">get</span><span style="color: #000000">;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">set</span><span style="color: #000000">;&nbsp;}</span></span><span style="color: #000000"><br />
<img id="Codehighlighter1_110_131_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_110_131_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_110_131_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_110_131_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_110_131_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_110_131_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_110_131_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_110_131_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;Delegate&nbsp;Delegate&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_110_131_Closed_Text"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_110_131_Open_Text"><span style="color: #000000">{&nbsp;</span><span style="color: #0000ff">get</span><span style="color: #000000">;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">set</span><span style="color: #000000">;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" /><br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;ControlFuncContext(Control&nbsp;ctl,&nbsp;Delegate&nbsp;d)<br />
<img id="Codehighlighter1_188_238_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_188_238_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_188_238_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_188_238_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_188_238_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_188_238_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_188_238_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_188_238_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_188_238_Closed_Text"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_188_238_Open_Text"><span style="color: #000000">{<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.Control&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;ctl;<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.Delegate&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;d;<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" /><br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;Invoke0()<br />
<img id="Codehighlighter1_266_351_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_266_351_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_266_351_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_266_351_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_266_351_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_266_351_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_266_351_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_266_351_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_266_351_Closed_Text"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_266_351_Open_Text"><span style="color: #000000">{<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(Control.IsHandleCreated&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">true</span><span style="color: #000000">)<br />
<img id="Codehighlighter1_311_347_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_311_347_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_311_347_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_311_347_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_311_347_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_311_347_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_311_347_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_311_347_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_311_347_Closed_Text"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_311_347_Open_Text"><span style="color: #000000">{<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Delegate.DynamicInvoke();<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" /><br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;Invoke1</span><span style="color: #000000">&lt;</span><span style="color: #000000">T</span><span style="color: #000000">&gt;</span><span style="color: #000000">(T&nbsp;obj)<br />
<img id="Codehighlighter1_387_475_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_387_475_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_387_475_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_387_475_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_387_475_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_387_475_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_387_475_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_387_475_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_387_475_Closed_Text"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_387_475_Open_Text"><span style="color: #000000">{<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(Control.IsHandleCreated&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">true</span><span style="color: #000000">)<br />
<img id="Codehighlighter1_432_471_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_432_471_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_432_471_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_432_471_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_432_471_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_432_471_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_432_471_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_432_471_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_432_471_Closed_Text"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_432_471_Open_Text"><span style="color: #000000">{<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Delegate.DynamicInvoke(obj);<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" /><br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;Invoke2</span><span style="color: #000000">&lt;</span><span style="color: #000000">T0,T1</span><span style="color: #000000">&gt;</span><span style="color: #000000">(T0&nbsp;obj0,&nbsp;T1&nbsp;obj1)<br />
<img id="Codehighlighter1_526_621_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_526_621_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_526_621_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_526_621_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_526_621_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_526_621_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_526_621_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_526_621_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_526_621_Closed_Text"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_526_621_Open_Text"><span style="color: #000000">{<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(Control.IsHandleCreated&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">true</span><span style="color: #000000">)<br />
<img id="Codehighlighter1_571_617_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_571_617_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_571_617_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_571_617_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_571_617_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_571_617_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_571_617_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_571_617_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_571_617_Closed_Text"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_571_617_Open_Text"><span style="color: #000000">{<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Delegate.DynamicInvoke(obj0,&nbsp;obj1);<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;FormClassHelper<br />
<img id="Codehighlighter1_664_1417_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_664_1417_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_664_1417_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_664_1417_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_664_1417_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_664_1417_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_664_1417_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_664_1417_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_664_1417_Closed_Text"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_664_1417_Open_Text"><span style="color: #000000">{<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;InvokeFunc0(</span><span style="color: #0000ff">this</span><span style="color: #000000">&nbsp;Control&nbsp;ctl,&nbsp;Func0&nbsp;func0)<br />
<img id="Codehighlighter1_732_886_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_732_886_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_732_886_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_732_886_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_732_886_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_732_886_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_732_886_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_732_886_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_732_886_Closed_Text"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_732_886_Open_Text"><span style="color: #000000">{<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(ctl.IsHandleCreated&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">true</span><span style="color: #000000">)<br />
<img id="Codehighlighter1_773_882_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_773_882_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_773_882_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_773_882_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_773_882_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_773_882_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_773_882_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_773_882_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_773_882_Closed_Text"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_773_882_Open_Text"><span style="color: #000000">{<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ControlFuncContext&nbsp;fc&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;ControlFuncContext(ctl,&nbsp;func0);<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ctl.Invoke(</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Func0(fc.Invoke0));<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" /><br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;InvokeFunc1</span><span style="color: #000000">&lt;</span><span style="color: #000000">T</span><span style="color: #000000">&gt;</span><span style="color: #000000">(</span><span style="color: #0000ff">this</span><span style="color: #000000">&nbsp;Control&nbsp;ctl,&nbsp;Func1</span><span style="color: #000000">&lt;</span><span style="color: #000000">T</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;func1,&nbsp;T&nbsp;obj)<br />
<img id="Codehighlighter1_967_1132_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_967_1132_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_967_1132_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_967_1132_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_967_1132_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_967_1132_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_967_1132_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_967_1132_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_967_1132_Closed_Text"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_967_1132_Open_Text"><span style="color: #000000">{<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(ctl.IsHandleCreated&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">true</span><span style="color: #000000">)<br />
<img id="Codehighlighter1_1008_1128_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1008_1128_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_1008_1128_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_1008_1128_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_1008_1128_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1008_1128_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_1008_1128_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_1008_1128_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1008_1128_Closed_Text"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_1008_1128_Open_Text"><span style="color: #000000">{<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ControlFuncContext&nbsp;fc&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;ControlFuncContext(ctl,&nbsp;func1);<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ctl.Invoke(</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Func1</span><span style="color: #000000">&lt;</span><span style="color: #000000">T</span><span style="color: #000000">&gt;</span><span style="color: #000000">(fc.Invoke1</span><span style="color: #000000">&lt;</span><span style="color: #000000">T</span><span style="color: #000000">&gt;</span><span style="color: #000000">),&nbsp;obj);<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" /><br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;InvokeFunc2</span><span style="color: #000000">&lt;</span><span style="color: #000000">T0,&nbsp;T1</span><span style="color: #000000">&gt;</span><span style="color: #000000">(</span><span style="color: #0000ff">this</span><span style="color: #000000">&nbsp;Control&nbsp;ctl,&nbsp;Func2</span><span style="color: #000000">&lt;</span><span style="color: #000000">T0,&nbsp;T1</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;func2,&nbsp;T0&nbsp;obj0,&nbsp;T1&nbsp;obj1)<br />
<img id="Codehighlighter1_1234_1414_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1234_1414_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_1234_1414_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_1234_1414_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_1234_1414_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1234_1414_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_1234_1414_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_1234_1414_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1234_1414_Closed_Text"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_1234_1414_Open_Text"><span style="color: #000000">{<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(ctl.IsHandleCreated&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">true</span><span style="color: #000000">)<br />
<img id="Codehighlighter1_1275_1410_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1275_1410_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_1275_1410_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_1275_1410_Closed_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_1275_1410_Closed_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_1275_1410_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_1275_1410_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_1275_1410_Open_Text').style.display='inline';" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1275_1410_Closed_Text"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_1275_1410_Open_Text"><span style="color: #000000">{<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ControlFuncContext&nbsp;fc&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;ControlFuncContext(ctl,&nbsp;func2);<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ctl.Invoke(</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Func2</span><span style="color: #000000">&lt;</span><span style="color: #000000">T0,T1</span><span style="color: #000000">&gt;</span><span style="color: #000000">(fc.Invoke2</span><span style="color: #000000">&lt;</span><span style="color: #000000">T0,T1</span><span style="color: #000000">&gt;</span><span style="color: #000000">),&nbsp;obj0,&nbsp;obj1);<br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span></span></div>
<p>&nbsp;
<p>
<p>b) 对于多个控件，使用Mediator模式，将多个控件之间的组合抽象出Mediator类，方便重用。这一点我最开始是用户控件方式进行封装，结果发现太不灵活，最后改用Mediator，再配合扩展方法，开发速度biubiubiu的就上去了。
<p>（5） UI：Html是万恶之源，能不用就不用。可以选择的话，我主要用Winform, Flex，SL作为前端。纯Web开发是不碰了（市面上做Web开发的太多，不趟这个混水了）。
<p>以上架构，视项目而定。如果项目的数据部分比较关键，我现在还是保守的在用关系数据库。虽然db4o已经那么多年了，还是得保守一点用。
<p>如果能完全按上面五点去做，那开发简直和在空中飞翔一样爽。</p>
<p>btw. 如果一切都OO起来，写程序真是享受，象写诗一样&#8230;&#8230;</p>
<p>&nbsp;</p>
<img src ="http://www.cnblogs.com/xiaotie/aggbug/1485795.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/48001/" target="_blank">上海电信计划2012年80%用户实现100M带宽</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>渔鱼之辩 —— 兼谈质、门、道以及模式</title><link>http://www.cnblogs.com/xiaotie/archive/2009/05/19/1459814.html</link><dc:creator>xiaotie</dc:creator><author>xiaotie</author><pubDate>Mon, 18 May 2009 22:12:00 GMT</pubDate><guid>http://www.cnblogs.com/xiaotie/archive/2009/05/19/1459814.html</guid><wfw:comment>http://www.cnblogs.com/xiaotie/comments/1459814.html</wfw:comment><comments>http://www.cnblogs.com/xiaotie/archive/2009/05/19/1459814.html#Feedback</comments><slash:comments>12</slash:comments><wfw:commentRss>http://www.cnblogs.com/xiaotie/comments/commentRss/1459814.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/xiaotie/services/trackbacks/1459814.html</trackback:ping><description><![CDATA[摘要: 方法、手段、目的，以及胡言乱语。&nbsp;&nbsp;<a href='http://www.cnblogs.com/xiaotie/archive/2009/05/19/1459814.html'>阅读全文</a><img src ="http://www.cnblogs.com/xiaotie/aggbug/1459814.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/48000/" target="_blank">数万名网友签名抗议星际争霸2取消局域网功能</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>思念——诗、歌、酒与烈火</title><link>http://www.cnblogs.com/xiaotie/archive/2009/05/01/1447339.html</link><dc:creator>xiaotie</dc:creator><author>xiaotie</author><pubDate>Thu, 30 Apr 2009 21:44:00 GMT</pubDate><guid>http://www.cnblogs.com/xiaotie/archive/2009/05/01/1447339.html</guid><wfw:comment>http://www.cnblogs.com/xiaotie/comments/1447339.html</wfw:comment><comments>http://www.cnblogs.com/xiaotie/archive/2009/05/01/1447339.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/xiaotie/comments/commentRss/1447339.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/xiaotie/services/trackbacks/1447339.html</trackback:ping><description><![CDATA[<p>&nbsp;</p>
<p>思念那无法再回头凝望的身影</p>
<p>思念那纵马奔腾、射雕引弓的草原</p>
<p>思念那从百米高空决然下落的坚定</p>
<p>思念那散落在各地无法再聚首欢歌我的兄弟姐妹们</p>
<p>&nbsp;<wbr></p>
<p>（一）</p>
<p>&nbsp;<wbr></p>
<p><a href="http://photo.blog.sina.com.cn/showpic.html#blogid=5fe3cf110100dku4&amp;url=http://static13.photo.sina.com.cn/orignal/5fe3cf11x68cba5e37e0c" target="_blank"><img style="max-width: 500px" src="http://static13.photo.sina.com.cn/bmiddle/5fe3cf11x68cba5e37e0c"  alt="" /></a></p>
<p>&nbsp;<wbr></p>
<p>你是不畏艰难迎风奔腾的烈马</p>
<p>你是冬日里熊熊燃烧的火焰</p>
<p>怀揣一颗永不停息的激昂的心</p>
<p>奋进在沉重的伤痕累累的大地上</p>
<p>天苍苍，野茫茫</p>
<p>风吹草低羊断肠</p>
<p>&nbsp;<wbr></p>
<p>至昔日的恋人：祝你平安</p>
<p>&nbsp;<wbr></p>
<p>（二）</p>
<p>&nbsp;<wbr></p>
<p><a href="http://photo.blog.sina.com.cn/showpic.html#blogid=5fe3cf110100dku4&amp;url=http://static6.photo.sina.com.cn/orignal/5fe3cf11x68cc158b3cb5" target="_blank"><img style="max-width: 500px" src="http://static6.photo.sina.com.cn/bmiddle/5fe3cf11x68cc158b3cb5"  alt="" /></a></p>
<p>&nbsp;<wbr></p>
<p>你是人世间欢乐的使者</p>
<p>你是佛陀拈花的笑容</p>
<p>你不惜以那种方式与世界诀别</p>
<p>只为了心中最后的完美和尊严</p>
<p>我的彤彤脸上永不消失的笑</p>
<p>难道是你隔世传来的祝福？</p>
<p>这幅丁香花送给你：生也洒脱，死也洒脱。</p>
<p>&nbsp;<wbr></p>
<p>（三）</p>
<p>&nbsp;<wbr></p>
<p><a href="http://photo.blog.sina.com.cn/showpic.html#blogid=5fe3cf110100dku4&amp;url=http://static9.photo.sina.com.cn/orignal/5fe3cf11x68cc28008ee8" target="_blank"><img style="max-width: 500px" src="http://static9.photo.sina.com.cn/bmiddle/5fe3cf11x68cc28008ee8"  alt="" /></a></p>
<p>&nbsp;<wbr></p>
<p>无忧无虑的时间</p>
<p>无忧无虑的酒</p>
<p>无忧无虑的来自全国各地的朋友</p>
<p>东西南北中</p>
<p>才情万里随风</p>
<p>至当年水木清华的版友：浊酒一杯，天涯同醉</p>
<img src ="http://www.cnblogs.com/xiaotie/aggbug/1447339.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47999/" target="_blank">Silverlight打造杰克逊纪念专题</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>总有一些声音令人热血澎湃</title><link>http://www.cnblogs.com/xiaotie/archive/2009/04/13/1435075.html</link><dc:creator>xiaotie</dc:creator><author>xiaotie</author><pubDate>Mon, 13 Apr 2009 13:16:00 GMT</pubDate><guid>http://www.cnblogs.com/xiaotie/archive/2009/04/13/1435075.html</guid><wfw:comment>http://www.cnblogs.com/xiaotie/comments/1435075.html</wfw:comment><comments>http://www.cnblogs.com/xiaotie/archive/2009/04/13/1435075.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/xiaotie/comments/commentRss/1435075.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/xiaotie/services/trackbacks/1435075.html</trackback:ping><description><![CDATA[<p>当遇到挫折时去听一听，看一看吧。</p>
<p>（1）热血歌</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 热血歌（1938） <br />&nbsp;&nbsp;&nbsp;&nbsp; 词：吴宗海 <br />&nbsp;&nbsp;&nbsp;&nbsp; 曲：黄自 <br />&nbsp;&nbsp;&nbsp;&nbsp; 热血滔滔，热血滔滔， <br />&nbsp;&nbsp;&nbsp;&nbsp; 像江里的浪，像海里的涛，常在我心头翻搅。 <br />&nbsp;&nbsp;&nbsp;&nbsp; 只因为耻辱未雪，愤恨难消， <br />&nbsp;&nbsp;&nbsp;&nbsp; 四万万同胞啊！ <br />&nbsp;&nbsp;&nbsp;&nbsp; 洒着你的热血，去除强暴！ <br />&nbsp;&nbsp;&nbsp;&nbsp; 热血溶溶，热血溶溶， <br />&nbsp;&nbsp;&nbsp;&nbsp; 像火焰般烈，像旭日般红，常在我心头汹涌。 <br />&nbsp;&nbsp;&nbsp;&nbsp; 快起来为己除害，为国尽忠， <br />&nbsp;&nbsp;&nbsp;&nbsp; 四万万同胞啊！ <br />&nbsp;&nbsp;&nbsp;&nbsp; 拼着你的热血，去争光荣！</p>
<p>&nbsp;</p>
<p>（2）黄河大合唱</p>
<p><a title="http://www.youku.com/playlist_show/id_1917467.html" href="http://www.youku.com/playlist_show/id_1917467.html">http://www.youku.com/playlist_show/id_1917467.html</a></p>
<p>一、黄河大合唱</p>
<p><br />光未然词 <br />冼星海曲</p>
<p><br />[1] 黄河船夫曲&#8212;&#8212;《黄河大合唱》第一乐章 <br />（朗诵） <br />朋友！你到过黄河吗？你渡过黄河吗？你还记得河上的船夫，拼着性命和惊涛骇浪搏战的情景吗？如果你已经忘掉的话，那么，你听吧！ <br />（合唱） <br />咳哟！咳哟！划哟，划哟，划哟，划哟！用力划哟，用力划哟，用力划哟，用力划哟！咳哟！咳哟！ <br />乌云啊，遮满天！ <br />波涛啊，高如山！ <br />冷风啊，扑上脸！ <br />浪花啊，打进船！ <br />咳哟！划哟！ <br />伙伴啊，睁开眼！ <br />舵手啊，把住腕！ <br />当心啊，别偷懒！ <br />拼命啊，莫胆寒！ <br />咳！划哟！咳！划哟！ <br />咳！划哟！咳！划哟！ <br />不怕那千丈波涛高如山！ <br />不怕那千丈波涛高如山！ <br />行船好比上火线，团结一心冲上前！ <br />咳！划哟！咳！划哟！ <br />咳！划哟！咳！划哟！ <br />咳哟！咳哟！划哟，划哟，划哟，划哟，用力划哟，用力划哟，用力划哟，用力划哟，用力划哟！咳哟！咳哟！ <br />我们看见了河岸， <br />我们登上了河岸。 <br />心啊，安一安， <br />气啊，喘一喘。 <br />回过头，再和那黄河怒涛 <br />决一死战！决一死战！决一死战！ <br />决一死战！ <br />咳哟！划哟！咳！划哟！咳，咳，&#8230;&#8230;</p>
<p><br />[2] 黄河颂&#8212;&#8212;《黄河大合唱》第二乐章 <br />（朗诵）朋友！黄河以它英雄的气魄，出现在亚洲的原野，它表现出我们民族的精神，伟大而崇高！这里，我们向着黄河，唱出我们的赞歌。 <br />（独唱） <br />我站在高山之巅，望黄河滚滚，奔向东南。 <br />金涛澎湃，掀起万丈狂澜； <br />浊流宛转，结成九曲连环； <br />从昆仑山下，奔向黄海之边； <br />把中原大地，劈成南北两面。 <br />啊，黄河！你是中华民族的摇篮！ <br />五千年的古国文化，从你这发源； <br />多少英雄的故事，在你的身边扮演！ <br />啊，黄河！你是伟大坚强， <br />像一个巨人，出现在亚洲平原之上， <br />用你那英雄的体魄，筑成我们民族的屏障。 <br />啊，黄河！你一泻万丈，浩浩荡荡， <br />向南北两岸，伸出千万条铁的臂膀。 <br />我们民族的伟大精神，将要在你的哺育下， <br />发扬滋长！ <br />我们祖国的英雄儿女，将要学习你的榜样， <br />像你一样的伟大坚强，像你一样的伟大坚强！ <br /></p>
<p>[3] 黄河之水天上来（配乐诗朗诵）&#8212;&#8212;《黄河大合唱》第三乐章 <br />（朗诵） <br />黄河！我们要学习你的榜样，像你一样的伟大坚强。这里，我们要在你的面前，献一首长诗，哭诉我们民族的灾难。 <br />（朗诵，三弦伴奏） <br />黄河之水天上来， <br />排山倒海，汹涌澎湃， <br />奔腾叫啸，使人肝胆破裂！ <br />它是中国的大动脉， <br />在它的周身，奔流着民族的热血。 <br />红日高照，水上金光迸裂。 <br />月出东山，河面银光似雪。 <br />它震动着，跳跃着，像一条飞龙， <br />日行千里，注入浩浩的东海。 <br />虎口龙门，摆成天上的奇阵； <br />人，不敢在它的身边挨近； <br />就是毒龙，也不敢在水底存身。 <br />在十里路外，仰望着它的浓烟上升； <br />象烧着漫天大火，使你感到热血沸腾； <br />其实，凉气逼来，你会周身感到寒冷。 <br />它呻吟着，震荡着，发出十万万匹马力， <br />摇动了地壳，冲散了天上的乌云。 <br />啊，黄河！河中之王！ <br />它是一匹疯狂的猛兽， <br />发起怒来，赛过千万条毒蟒； <br />它要作浪兴波，冲破人间的堤防； <br />于是，黄河两岸，遭到可怕的灾殃： <br />它吞食了两岸的人民，削平了数百里外的村庄， <br />使千百万同胞，扶老携幼，流亡他乡， <br />挣扎在饥饿线上，死亡线上！ <br />如今，两岸的人民， <br />又受到了空前的灾难： <br />东方的海盗，在亚洲的原野， <br />伸张着杀人的毒焰； <br />于是，饥饿和死亡，像黑热病一样， <br />在黄河的两岸 传染！ <br />啊，黄河！ <br />你抚育着我们民族的成长： <br />你亲眼看见，这五千年来的古国 <br />遭受过多少灾难！ <br />自古以来，在黄河边上 <br />展开了无数血战， <br />让垒垒白骨，堆满你的河身， <br />殷殷鲜血，染红你的河面！ <br />但你从没有看见， <br />敌人的残暴，如同今天这般； <br />也从来没有看见，黄帝的子孙 <br />像今天这样，开始了全国动员。 <br />在黄河两岸， <br />游击兵团，野战兵团， <br />星罗棋布，散布在敌人后面； <br />在万山丛中，在青纱帐里， <br />展开了英勇血战！ <br />啊，黄河！ <br />你记载着我们民族的年代； <br />古往今来，在你的身边 <br />兴起了多少英雄豪杰！ <br />但是，你从不曾看见 <br />四万万同胞，像今天这样 <br />团结得如钢似铁； <br />千百万民族英雄，为了保卫祖国 <br />洒尽他们的热血； <br />英雄的故事，像黄河怒涛， <br />山岳般地壮烈！ <br />啊，黄河！ <br />你可曾听见，在你的身旁 <br />响彻了胜利的凯歌？ <br />你可曾看见，祖国的铁军 <br />在敌人后方，布成了地网天罗？ <br />他们把守着黄河两岸， <br />不让敌人渡过！ <br />他们要把疯狂的敌人 <br />埋葬在滚滚的黄河！ <br />啊，黄河！ <br />你奔流着，怒吼着， <br />替法西斯的恶魔 <br />唱着灭亡的葬歌！ <br />你怒吼着，叫啸着， <br />向着祖国的原野， <br />响应我们伟大民族的胜利的凯歌！ <br />向着祖国的原野， <br />响应我们伟大民族的胜利的凯歌！</p>
<p><br />[4] 黄水谣&#8212;&#8212;《黄河大合唱》第四乐章 <br />（朗诵） <br />我们是黄河的儿女，我们艰苦奋斗，一天天接近胜利！但是，敌人一天不消灭，我们便一天不能安身；不信，你听听，河东民众痛苦的呻吟。 <br />（合唱） <br />黄水奔流向东方，河流万里长。 <br />水又急，浪又高，奔腾叫啸如虎狼。 <br />开河渠，筑堤防，河东千里成平壤。 <br />麦苗儿肥啊，豆花儿香，男女老少喜洋洋。 <br />自从鬼子来，百姓遭了殃！ <br />奸淫烧杀，一片凄凉； <br />扶老携幼，四处逃亡； <br />丢掉了爹娘，回不了家乡！ <br />黄水奔流日夜忙， <br />妻离子散，天各一方！ <br />妻离子散，天各一方！</p>
<p><br />[5] 河边对口曲&#8212;&#8212;《黄河大合唱》第五乐章 <br />（朗诵） <br />妻离子散，天各一方！但是，我们难道永远逃亡？你听听吧，这是黄河边上，两个老乡的对唱。 <br />（对唱：张世明、王京华） <br />（甲）张老三，我问你，你的家乡在哪里？ <br />（乙）我的家，在山西，过河还有三百里。 <br />（甲）我问你，在家里，种田还是做生意？ <br />（乙）拿锄头，耕田地，种的高梁和小米。 <br />（甲）为什么，到此地，河边流浪受孤凄？ <br />（乙）痛心事，莫提起，家破人亡无消息。 <br />（甲）张老三，莫伤悲，我的命运不如你！ <br />（乙）为什么，王老七，你的家乡在何地？ <br />（甲）在东北，做生意，家乡八年无消息。 <br />（乙）这么说，我和你，都是有家不能回！ <br />（甲/乙合唱） <br />仇和恨，在心里，奔腾如同黄河水！ <br />黄河边，定主意，咱们一同打回去！ <br />为国家，当兵去，太行山上打游击！ <br />从今后，我和你，一同打回老家去！ <br /></p>
<p>[6] 黄河怨&#8212;&#8212;《黄河大合唱》第六乐章 <br />（朗诵） <br />是的，朋友！我们要打回老家去！老家已经太不成话了！谁没有妻子儿女，谁愿意遭受敌人的蹂躏？有良心的中国人啊，你听听，一个妇人悲惨的歌声。 <br />（独唱：馀佩敏） <br />风啊，你不要叫喊！ <br />云啊，你不要躲闪！ <br />黄河啊，你不要呜咽！ <br />今晚，我在你面前，哭诉我的仇和冤。 <br />命啊，这样苦！ <br />生活啊，这样难！ <br />鬼子啊，你这样没心肝！ <br />宝贝啊，你死得这样惨！ <br />我和你无仇又无冤， <br />偏让我无颜偷生在人间！ <br />狂风啊，你不要叫喊！ <br />乌云啊，你不要躲闪， <br />黄河的水啊，你不要呜咽！ <br />今晚，我要投在你的怀中， <br />洗清我的千重愁来万重冤！ <br />丈夫啊，在天边！ <br />地下啊，再团圆！ <br />你要想想妻子儿女死得这样惨！ <br />你要替我把这笔血债清算！ <br />你要替我把这笔血债清还！</p>
<p><br />[7] 保卫黄河&#8212;&#8212;《黄河大合唱》第七乐章 <br />（朗诵） <br />但是，中华民族的儿女啊，谁愿意像猪羊一般，任人宰割？我们抱定必胜的决心，保卫黄河！保卫华北！保卫全中国！ <br />（多声部合唱） <br />风在吼，马在叫， <br />黄河在咆哮，黄河在咆哮！ <br />河西山冈万丈高， <br />河东河北，高梁熟了。 <br />万山丛中，抗日英雄真不少！ <br />青纱帐里，游击健儿逞英豪！ <br />端起了土枪洋枪，挥动着大刀长矛， <br />保卫家乡！保卫黄河！ <br />保卫华北！保卫全中国！</p>
<p><br />[8] 怒吼吧，黄河！&#8212;&#8212;《黄河大合唱》第八乐章 <br />（朗诵）听啊，珠江在怒吼！扬子江在怒吼！啊！黄河！掀起你的怒涛，发出你的狂叫，向着全中国被压迫的人民，向着全世界被压迫的人民，发出你战斗的警号吧！ <br />（合唱） <br />怒吼吧，黄河！ <br />怒吼吧，黄河！ <br />怒吼吧，黄河！ <br />掀起你的怒涛，发出你的狂叫！ <br />向着全世界的人民，发出战斗的警号！ <br />啊&#8212;&#8212; <br />五千年的民族，苦难真不少！ <br />铁蹄下的民众，苦痛受不了！ <br />受不了！ <br />但是，新中国已经破晓； <br />四万万五千万民众 <br />已经团结起来，誓死同把国土保！ <br />你听，你听，你听： <br />松花江在呼号，黑龙江在呼号； <br />珠江发出了英勇的叫啸； <br />扬子江上，燃遍了抗日的烽火！ <br />啊！黄河！ <br />怒吼吧！怒吼吧！怒吼吧！ <br />向着全中国受难的人民， <br />发出战斗的警号！ <br />向着全世界劳动的人民， <br />发出战斗的警号！ <br />向着全世界劳动的人民， <br />发出战斗的警号！ <br />向着全世界劳动的人民， <br />发出战斗的警号！ <br />向着全世界劳动的人民， <br />发出战斗的警号！</p>
<p>（3）苏武牧羊</p>
<p><a title="http://www.tudou.com/playlist/id/321386/" href="http://www.tudou.com/playlist/id/321386/">http://www.tudou.com/playlist/id/321386/</a></p>
<p>序歌&#8226;一个古老的传说&nbsp;&nbsp; </p>
<p><br />春草年年绿绿了千年&nbsp;&nbsp; <br />牧歌悠悠唱唱遍草原&nbsp;&nbsp; <br />有一支歌也唱了千年噢&nbsp;&nbsp; <br />奶奶唱给爸爸&nbsp;&nbsp; <br />爸爸唱给我 唱给我噢&nbsp;&nbsp; <br />我唱在心间&nbsp;&nbsp; <br />秦时的明月依然明艳&nbsp;&nbsp; <br />汉时的雄关已经不见&nbsp;&nbsp; <br />多少英雄的伟业&nbsp;&nbsp; <br />已经被风吹散&nbsp;&nbsp; <br />一个牧羊人的歌声永留人间&nbsp;&nbsp; <br />一个牧羊人的歌声永留人间&nbsp;&nbsp; <br />苏武留胡节不辱&nbsp;&nbsp; <br />雪地又冰天苦忍十九年&nbsp;&nbsp; <br />渴饮雪饥吞毡&nbsp;&nbsp; <br />牧羊北海边&nbsp;&nbsp; <br />心存汉社稷旄落犹未还&nbsp;&nbsp; <br />历尽难中难 心如铁石坚&nbsp;&nbsp; <br />夜坐塞上时听笳声入耳心恸酸&nbsp;&nbsp; <br />秦时的明月依然明艳&nbsp;&nbsp; <br />汉时的雄关已经不见&nbsp;&nbsp; <br />有一支歌唱了千年&nbsp;&nbsp; <br />有一支歌唱遍草原&nbsp;&nbsp; <br />有一支歌永留人间&nbsp;&nbsp; <br />有一支歌我唱在心间&nbsp; </p>
<p>&nbsp; <br />骁歌&#8226;出塞&nbsp;&nbsp; </p>
<p><br />出雁门 越雄关&nbsp;&nbsp; <br />别父老 辞长安&nbsp;&nbsp; <br />驱骏马 跨雕鞍&nbsp;&nbsp; <br />为国家 求平安&nbsp;&nbsp; <br />男儿今出塞&nbsp;&nbsp; <br />男儿今出塞&nbsp;&nbsp; <br />男儿今出塞&nbsp;&nbsp; <br />背后长河落日&nbsp;&nbsp; <br />眼前大漠孤烟&nbsp;&nbsp; <br />背后长河落日&nbsp;&nbsp; <br />眼前大漠孤烟&nbsp;&nbsp; <br />大漠孤烟&nbsp;&nbsp; <br />手持一根节杖&nbsp;&nbsp; <br />胸怀万里江山&nbsp;&nbsp; <br />手持一根节杖&nbsp;&nbsp; <br />胸怀万里江山&nbsp;&nbsp; <br />万里江山&nbsp;&nbsp; </p>
<p><br />牧歌&#8226;贝加尔湖的冬天&nbsp;&nbsp; </p>
<p><br />白茫茫的雪原黑沉沉的苍天&nbsp;&nbsp; <br />黄澄澄的太阳裹进了云里边&nbsp;&nbsp; <br />静悄悄的湖面空荡荡的荒野&nbsp;&nbsp; <br />孤伶伶的牧人伫立在天地间&nbsp;&nbsp; <br />凄沥沥的寒风里黑漆漆的长夜难眠&nbsp;&nbsp; <br />冰冷冷的长夜里梦境绿莹莹&nbsp;&nbsp; <br />梦中的花儿红彤彤&nbsp;&nbsp; <br />梦中的草儿水灵灵&nbsp;&nbsp; <br />梦中的星星亮晶晶&nbsp;&nbsp; <br />梦中的太阳暖融融&nbsp;&nbsp; <br />梦中的田野翠青青&nbsp;&nbsp; <br />梦中的村庄雨蒙蒙&nbsp;&nbsp; <br />梦中的炊烟香袅袅&nbsp;&nbsp; <br />梦中的小河水清清&nbsp;&nbsp; <br />莽苍苍的乌拉尔山&nbsp;&nbsp; <br />冰冷冷的贝加尔湖畔&nbsp;&nbsp; <br />白皑皑的湖畔&nbsp;&nbsp; <br />牧歌声悠悠&nbsp;&nbsp; <br />白茫茫的雪原黑沉沉的苍天&nbsp;&nbsp; <br />黄澄澄的太阳裹进了云里边&nbsp;&nbsp; </p>
<p><br />琴歌&#8226;望月观花&nbsp;&nbsp; </p>
<p><br />怕见月 尤其怕见怕见月圆&nbsp;&nbsp; <br />月圆了不好&nbsp;&nbsp; <br />月圆了月圆了让人心颤&nbsp;&nbsp; <br />白发娘 盼儿归&nbsp;&nbsp; <br />红妆空守空帏&nbsp;&nbsp; <br />三更同入梦&nbsp;&nbsp; <br />两地谁梦谁&nbsp;&nbsp; <br />怕见花 尤其怕见怕见花艳&nbsp;&nbsp; <br />花艳了不好&nbsp;&nbsp; <br />花艳了花艳了人心酸&nbsp;&nbsp; <br />三更同入梦&nbsp;&nbsp; <br />两地谁梦谁&nbsp;&nbsp; <br />不是不爱明月 是因为&nbsp;&nbsp; <br />月照故乡人 是因为&nbsp;&nbsp; <br />月圆了 人未圆&nbsp;&nbsp; <br />不是不爱鲜花 是因为&nbsp;&nbsp; <br />鲜花如人面 是因为&nbsp;&nbsp; <br />人面桃花今不见&nbsp;&nbsp; <br />怕见明月&nbsp;&nbsp; <br />头上的月正圆&nbsp;&nbsp; <br />怕见鲜花&nbsp;&nbsp; <br />手中的花正艳&nbsp;&nbsp; <br />怕见明月&nbsp;&nbsp; <br />头上的月正圆&nbsp;&nbsp; <br />怕见鲜花&nbsp;&nbsp; <br />手中的花正艳&nbsp;&nbsp; </p>
<p><br />春歌&#8226;牧羊姑娘&nbsp;&nbsp; </p>
<p><br />在茫茫草原上&nbsp;&nbsp; <br />一群羊遇到了另一群羊&nbsp;&nbsp; <br />在浩荡春风里&nbsp;&nbsp; <br />牧羊人遇到了牧羊姑娘&nbsp;&nbsp; <br />春风吹散了她的长发&nbsp;&nbsp; <br />春风吹红了她的脸庞&nbsp;&nbsp; <br />春风吹开了她的衣裳&nbsp;&nbsp; <br />春风吹亮了她的目光&nbsp;&nbsp; <br />让人昏眩的是太阳&nbsp;&nbsp; <br />让人痴迷的是目光&nbsp;&nbsp; <br />让人软弱的是春风&nbsp;&nbsp; <br />让人踌躇的是故乡&nbsp;&nbsp; <br />让人昏眩的是太阳&nbsp;&nbsp; <br />让人痴迷的是目光&nbsp;&nbsp; <br />让人软弱的是春风&nbsp;&nbsp; <br />让人踌躇的是故乡&nbsp;&nbsp; <br />在茫茫草原上&nbsp;&nbsp; <br />一群羊遇到了另一群羊&nbsp;&nbsp; <br />在浩荡春风里&nbsp;&nbsp; <br />牧羊人遇到了牧羊姑娘&nbsp;&nbsp; <br />在茫茫草原上&nbsp;&nbsp; <br />一群羊遇到了另一群羊&nbsp;&nbsp; <br />在浩荡春风里&nbsp;&nbsp; <br />牧羊人遇到了牧羊姑娘&nbsp;&nbsp; <br />春风吹乱了他的脚步&nbsp;&nbsp; <br />春风吹落了他的节杖&nbsp;&nbsp; <br />春风吹黑了他的白发&nbsp;&nbsp; <br />春风吹乱了他的心房&nbsp;&nbsp; <br />让人昏眩的是太阳&nbsp;&nbsp; <br />让人痴迷的是目光&nbsp;&nbsp; <br />让人软弱的是春风&nbsp;&nbsp; <br />让人踌躇的是故乡&nbsp;&nbsp; <br />让人昏眩的是太阳&nbsp;&nbsp; <br />让人痴迷的是目光&nbsp;&nbsp; <br />让人软弱的是春风&nbsp;&nbsp; <br />让人踌躇的是故乡&nbsp;&nbsp; <br />在茫茫草原上&nbsp;&nbsp; <br />一群羊遇到了另一群羊&nbsp;&nbsp; <br />在浩荡春风里&nbsp;&nbsp; <br />牧羊人遇到了牧羊姑娘 </p>
<p>&nbsp; <br />酒歌&#8226;归来&nbsp;&nbsp; </p>
<p><br />留胡十九载&nbsp;&nbsp; <br />今天归来&nbsp;&nbsp; <br />千里的雷声万里的闪&nbsp;&nbsp; <br />北海的牧人就往家赶&nbsp;&nbsp; <br />登上了长城就往南看&nbsp;&nbsp; <br />眼含着泪水就望长安&nbsp;&nbsp; <br />留胡十九载&nbsp;&nbsp; <br />今天归来&nbsp;&nbsp; <br />今天归来&nbsp;&nbsp; <br />长安不见十九年&nbsp;&nbsp; <br />十九年苦难就对谁言&nbsp;&nbsp; <br />对谁言&nbsp;&nbsp; <br />大青骡子你就快快走&nbsp;&nbsp; <br />十九年苦难就熬出了头&nbsp;&nbsp; <br />熬出了头&nbsp;&nbsp; <br />黄河万里归大海&nbsp;&nbsp; <br />一头扑在母亲的怀&nbsp;&nbsp; <br />今天归来&nbsp;&nbsp; <br />苏武留胡节不辱&nbsp;&nbsp; <br />雪地又冰天十九年&nbsp;&nbsp; <br />牧羊北海边&nbsp;&nbsp; <br />苏武留胡节不辱&nbsp;&nbsp; <br />雪地又冰天负忍十九年&nbsp;&nbsp; <br />牧羊北海边&nbsp;&nbsp; </p>
<p><br />尾歌&#8226;梦里草原&nbsp;&nbsp; </p>
<p><br />当苦难已经过去&nbsp;&nbsp; <br />当昨天已成记忆&nbsp;&nbsp; <br />当那喧腾的鼓乐渐渐地平息&nbsp;&nbsp; <br />那悠悠的胡笳却又在梦里响起&nbsp;&nbsp; <br />响起 响起 响起&nbsp;&nbsp; <br />在梦里响起&nbsp;&nbsp; <br />当青春已经逝去&nbsp;&nbsp; <br />当白发已经凄迷&nbsp;&nbsp; <br />当那重逢的发妻偎依在怀里&nbsp;&nbsp; <br />那草原的情歌却又在梦里荡起&nbsp;&nbsp; <br />荡起 荡起 荡起&nbsp;&nbsp; <br />在梦里荡起 </p>
<p>（4）YOU SHALL NOT BE PASSED</p>
<p>&nbsp;</p>
<p><img border="0" alt="" src="http://res.sa20.com/upload/img/19/081217/2021242402780.jpg" width="1024" height="768" />主角是一位叫 Plapla 的WOW玩家。</p>
<p>这是 Plapla 的原贴：</p>
<p><a title="http://bbs.ngacn.cc/read.php?tid=2056960&amp;fpage=1" href="http://bbs.ngacn.cc/read.php?tid=2056960&amp;fpage=1">http://bbs.ngacn.cc/read.php?tid=2056960&amp;fpage=1</a></p>
<p>这是多玩的报道摘选：</p>
<p>当部落军团一路势如破竹地杀到铁炉堡国王的王座时，Plapla已站在国王的身前，手持一把名为&#8220;国王护卫者&#8221;的剑，顶着头上意味着成为靶子的标记，面对前方数十倍于自己的对手，喊出了《指环王》中甘道夫一人独对炎魔时的那句经典台词：&#8220;YOU SHALL NOT BE PASSDE!&#8221; &#8212;&#8212; 你们休想通过。 
<p>由于Plapla的存在，部落的这次攻击最后无果而终。事后，Plapla将战斗报告发到了论坛上，她的本意是想批判对手使用BUG站位，但玩家的反应出乎她的意料，所有人都为她这种&#8220;虽千万人吾往矣&#8221;的气概及表现出来的RP精神所感动。玩家纷纷回帖，表达自己对Plapla的敬佩。截止目前，该贴的回复已超过1300条。 
<p>一些玩家开始称呼Plapla为&#8220;国王护卫者&#8221;，推选她为年度最感人玩家，至少有两位玩家为Plapla撰写了小说，专门描述她如何面对部落大军而毫不退步，她当时的战斗截图被无数人保存并当作签名。此外还有数十篇新帖，是在进行与此有关的讨论。 
<p>随之而来的是对洛萨部落使用BUG的指责和嘲讽，甚至有同为洛萨服务器部落阵营的玩家发表声明，表示自己羞于与这些BUG使用者为伍，将选择离开重投其它服务器。 
<p>Plapla能感动这么多人，是因为她身上表露出来的一些早已被人们所遗忘了的美好东西。它们原本应该存在于现实社会中的，但现在我们于生活中无处寻找，却在游戏里不经意发现了。<font color="#ff0000">礼失而求诸野，亦可浩叹矣。</font> 
<p>&nbsp; 
<p>下面是另一个网友为他(或她)写的文字：</p>
<p>&nbsp;</p>
<p>&#8220;愿激昂的心永不停息，愿纯洁的圣光永远庇佑我们的世界。&#8221; </p>
<p>&#8220;我的孩子，你真的要留下吗？&#8221;麦格尼&#183;铜须的声音颤抖着，&#8220;我还是认为女人不应该参加这场战斗。你应该投降的，有普罗德摩尔的协议在，他们不会为难你这个人类的。&#8221; </p>
<p>他的王朝已经岌岌可危，铁炉堡外，数以千计的部落大军正在等待最后进攻的命令。 </p>
<p>地下铁路和丹莫罗的通道已经被封死，就连魔法转移的通道也被亡灵巫师封锁了。而城中，除了数百矮人死士以及一个女性人类以外，再无活人。 </p>
<p>&#8220;除非我被从这里抬出去。&#8221;派派拉说。&#8220;我是一个圣骑士。&#8221; </p>
<p>国王大厅的地板已经在微微颤动了。两人都知道这是牛头人的脚步声。敌人离这里越来越近了。 </p>
<p>&#8220;啊&#8230;&#8230;范达尔此时一定很羡慕我。&#8221;麦格尼突然说。&#8220;他被干掉的时候可是众叛亲离，他的士兵们几乎全都背叛了他。&#8221; </p>
<p>两旁的矮人士兵都沉默了。这句话基本等于宣布国王已经抱下了必死的决心。 </p>
<p>&#8220;我想连德雷克塔尔都会羡慕你的&#8230;听说他死前只有两条狼与他共战至死。&#8221;派派拉说着，心不在焉地挥舞了一下手中的武器。那是一把简陋的剑，剑由两个相互重合的钩组成，但是剑身中却散发着淡淡的蓝光。 </p>
<p>地板的颤抖越来越大了，甚至已经有一股巨魔的汗臭味传入国王大厅。矮人士兵都已经按照战术要求隐蔽起来了，一时间大厅上只剩下两个人。 </p>
<p>&#8220;那把剑&#8230;&#8230;&#8221;麦格尼指着派派拉手中说，&#8220;似乎有点不同寻常。&#8221; </p>
<p>&#8220;啊&#8230;&#8230;我几乎都忘了，真是巧合。&#8221;人类笑了一下，&#8220;它的名字叫国王护卫者。&#8221; </p>
<p>&#8220;是吗&#8230;&#8230;是谁给它这个名字的？是你吗？&#8221; </p>
<p>&#8220;不。卡拉赞的先知给了它这个名字，它守护千王之厅的国王。&#8221; </p>
<p>现在国王之厅的视野中已经能看到绿色的身影了，而且这种绿色的影子还在不断增加。 </p>
<p>&#8220;他们在集结部队。&#8221;国王说着，同样抽出了自己的战锤。&#8220;我可不是卖老，但是我这山丘之王的名头恐怕还是值得部落出动三四个整编团的。&#8221; </p>
<p>&#8220;而我，和你的士兵们，将成为你最牢不可破的盾牌。以国王护卫者的名义！以圣骑士的名义！&#8221; </p>
<p>&#8220;说得好，如果我们都活下来，我就给你这个称号&#8230;&#8230;&#8221; </p>
<p>一个看起来象是部落领军的萨满走进了房间，但是他却只看到两个人。他看起来是犹豫了一下，但是还是坚决地把手一挥&#8212;&#8212; </p>
<p>&#8220;来吧！You shall not pass!"</p><img src ="http://www.cnblogs.com/xiaotie/aggbug/1435075.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47998/" target="_blank">传诺基亚正在开发Android手机</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>突出重围</title><link>http://www.cnblogs.com/xiaotie/archive/2009/03/29/1424254.html</link><dc:creator>xiaotie</dc:creator><author>xiaotie</author><pubDate>Sat, 28 Mar 2009 22:09:00 GMT</pubDate><guid>http://www.cnblogs.com/xiaotie/archive/2009/03/29/1424254.html</guid><wfw:comment>http://www.cnblogs.com/xiaotie/comments/1424254.html</wfw:comment><comments>http://www.cnblogs.com/xiaotie/archive/2009/03/29/1424254.html#Feedback</comments><slash:comments>40</slash:comments><wfw:commentRss>http://www.cnblogs.com/xiaotie/comments/commentRss/1424254.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/xiaotie/services/trackbacks/1424254.html</trackback:ping><description><![CDATA[摘要: <img src="http://images.cnblogs.com/cnblogs_com/xiaotie/WindowsLiveWriter/0304d24cc112_55B1/image_thumb.png" class="desc_img"/>最近，在首页看到了太多的抱怨：潜心技术、不得志，陷入了某种窘境——身后无数小弟弟小妹妹不计一切代价的向这个行业涌来，眼前是经济危机需求萎缩，身边是老板压，同事迫。 怎么办？突围！ &nbsp;&nbsp;<a href='http://www.cnblogs.com/xiaotie/archive/2009/03/29/1424254.html'>阅读全文</a><img src ="http://www.cnblogs.com/xiaotie/aggbug/1424254.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47996/" target="_blank">7月编程语言排行榜</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>转移阵地，离开cnblogs，前往GAE,sina</title><link>http://www.cnblogs.com/xiaotie/archive/2009/03/02/1401265.html</link><dc:creator>xiaotie</dc:creator><author>xiaotie</author><pubDate>Mon, 02 Mar 2009 02:33:00 GMT</pubDate><guid>http://www.cnblogs.com/xiaotie/archive/2009/03/02/1401265.html</guid><wfw:comment>http://www.cnblogs.com/xiaotie/comments/1401265.html</wfw:comment><comments>http://www.cnblogs.com/xiaotie/archive/2009/03/02/1401265.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnblogs.com/xiaotie/comments/commentRss/1401265.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/xiaotie/services/trackbacks/1401265.html</trackback:ping><description><![CDATA[<p>cnblogs的气氛不友好，再加上今后主要以业务为主，讨论.net的机会也不会很多，于是撤离。</p>
<p>技术博客: <a title="http://xiaotie.appspot.com/" href="http://xiaotie.appspot.com/">http://xiaotie.appspot.com/</a></p>
<p>生活博客: <a href="http://blog.sina.com.cn/theforsaken2">http://blog.sina.com.cn/theforsaken2</a></p>
<img src ="http://www.cnblogs.com/xiaotie/aggbug/1401265.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47995/" target="_blank">Google Voice 上手</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>开始关注Google App Engine，研究基于GAE的应用模式</title><link>http://www.cnblogs.com/xiaotie/archive/2009/02/26/1398695.html</link><dc:creator>xiaotie</dc:creator><author>xiaotie</author><pubDate>Thu, 26 Feb 2009 04:49:00 GMT</pubDate><guid>http://www.cnblogs.com/xiaotie/archive/2009/02/26/1398695.html</guid><wfw:comment>http://www.cnblogs.com/xiaotie/comments/1398695.html</wfw:comment><comments>http://www.cnblogs.com/xiaotie/archive/2009/02/26/1398695.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/xiaotie/comments/commentRss/1398695.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/xiaotie/services/trackbacks/1398695.html</trackback:ping><description><![CDATA[<p>GAE真是一个不错的东西。我目前主要想到以下几个应用：</p>
<p>（1）中小企业的网站开发。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;优点：可以节约空间费用、维护成本，不用考虑数据备份，不用太多的考虑被挂马。中小型企业应该很欢迎这种应用。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;缺点：目前仅限于Python语言开发，程序资源缺乏，很多东西要靠自己动手。且担心GFW发飙。</p>
<p>（2）SNS程序开发。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;优点缺点同（1）。</p>
<p>（3）作为程序的Server端寄主，储存用户数据，用户授权数据等关键数据及部分服务器端API。我目前主要关注这种应用。</p>
<img src ="http://www.cnblogs.com/xiaotie/aggbug/1398695.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47994/" target="_blank">Google号召社区力量为互联网加速</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item></channel></rss>