﻿<?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/morningwang/</link><description>金鱼之博（聪明做事，低调做人。上智者必不自智，下愚者比不自愚。沉稳而不失激情，成功而不忘超越）</description><language>zh-cn</language><lastBuildDate>Thu, 28 Aug 2008 20:54:47 GMT</lastBuildDate><pubDate>Thu, 28 Aug 2008 20:54:47 GMT</pubDate><ttl>60</ttl><item><title>你必须知道的社会生活中十大著名法则</title><link>http://www.cnblogs.com/morningwang/archive/2008/08/23/1274850.html</link><dc:creator>金鱼</dc:creator><author>金鱼</author><pubDate>Sat, 23 Aug 2008 14:40:00 GMT</pubDate><guid>http://www.cnblogs.com/morningwang/archive/2008/08/23/1274850.html</guid><wfw:comment>http://www.cnblogs.com/morningwang/comments/1274850.html</wfw:comment><comments>http://www.cnblogs.com/morningwang/archive/2008/08/23/1274850.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/morningwang/comments/commentRss/1274850.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/morningwang/services/trackbacks/1274850.html</trackback:ping><description><![CDATA[<strong>一、 马太效应 <br />
二、 手表定理 </strong><wbr><strong><br />
三、 不值得定律 </strong><wbr><strong><br />
四、 彼得原理 </strong><wbr><strong><br />
五、 零和游戏原理 </strong><wbr><strong><br />
六、 华盛顿合作规律 </strong><wbr><strong><br />
七、 酒与污水定律 </strong><wbr><strong><br />
八、 水桶定律 </strong><wbr><strong><br />
九、 蘑菇管理 </strong><wbr><strong><br />
</strong>
<div id="blogContainer" style="font-size: 12px;"><wbr><strong>十、  奥卡姆剃刀定律</strong><wbr><strong> </strong><wbr><br />
<br />
一、马太效应 <wbr><br />
《新约马太福音》中有这样一个故事，一个国王远行前，交给三个仆人每人一锭银子，吩咐他们： "  你们去做生意，等我回来时，再来见我。 " 国王回来时，第一个仆人说： " 主人，你交给我们的一锭银子，我已赚了 10 锭。 " 于是国王奖励他 10  座城邑。第二个仆人报告说： " 主人，你给我的一锭银子，我已赚了 5 锭。 " 于是国王例奖励了他 5 座城邑。第三个仆人报告说： "  主人，你给我的一锭银子，我一直包在手巾里存着，我怕丢失，一直没有拿出来。 " 于是国王命令将第三个仆人的一锭银子也赏给第一个仆人，并且说： "  凡是少的，就连他所有的也要夺过来。凡是多的，还要给他，叫他多多益善。 "  这就是马太效应。看看我们周围，就可以发现许多马太效应的例子。朋友多的人会借助频繁的交往得到更多的朋友；缺少朋友的人会一直孤独下去。金钱方面更是如此，即使投资回报率相同，一个比别人投资多  10 倍的人，收益也多 10 倍。 <wbr><br />
这是个赢家通吃的社会，善用马太效应，赢家就是你。 <wbr><br />
<p>对企业经营发展而言，马太效应则告诉我们，要想在某一个领域保持优势，就必须在此领域迅速做大。当你成为某个领域的领头羊的时候，即使投资回报率相同，你也能更轻易的获得比弱小的同行更大的收益。而若没有实力迅速在某个领域做大，就要不停地寻找新的发展领域，才能保证获得较好的回报。  <wbr></p>
<p>&nbsp;</p>
<p>二、手表定理 </p>
<div id="blogContainer" style="font-size: 12px;">手表定理是指一个人有一只表时，可以知道现在是几点钟，而当他同时拥有两只表时却无法确定。两只表并不能告诉一个人更准确的时间，反而会让看表的人失去对准确时间的信心。你要做的就是选择其中较信赖的一只，尽力校准它，并以此作为你的标准，听从它的指引行事。记住尼采的话：  " 兄弟，如果你是幸运的，你只需有一种道德而不要贪多，这样，你过桥更容易些。 " <wbr><br />
如果每个人都 " 选择你所爱，爱你所选择 " ，无论成败都可以心安理得。然而，困扰很多人的是：他们被 "  两只表 "  弄得无所，心身交瘁，不知自己该信仰哪一个，还有人在环境、他人的压力下，违心选择了自己并不喜欢的道路，为此而郁郁终生，即使取得了受人瞩目的成就，也体会不到成功的快乐。  <wbr><br />
手表定理在企业经营管理方面给我们一种非常直观的启发，就是对同一个人或同一个组织的管理不能同时采用两种不同的方法，不能同时设置两个不同的目标。甚至每一个人不能由两个人来同时指挥，否则将使这个企业或这个人无所适从。手表定理所指的另一层含义在于每个人都不能同时挑选两种不同的价值观，否则，你的行为将陷于混乱。  <wbr><br />
<p><br />
</p>
<p>三、不值得定律 </p>
<div id="blogContainer" style="font-size: 12px;">不值得定律最直观的表述是：不值得做的事情，就不值得做好，这个定律似乎再简单不过了，但它的重要性却时时被人们疏忘。不值得定律反映出人们的一种心理，一个人如果从事的是一份自认为不值得做的事情，往往会保持冷嘲热讽，敷衍了事的态度。不仅成功率小，而且即使成功，也不会觉得有多大的成就感。<wbr><br />
哪些事值得做呢？一般而言，这取决于三个因素。 <wbr><br />
1 、价值观。关于价值观我们已经谈了很多，只有符合我们价值观的事，我们才会满怀热情去做。  <wbr><br />
2  、个性和气质。一个人如果做一份与他的个性气质完全背离的工作，他是很难做好的，如一个好交往的人成了档案员，或一个害羞者不得不每天和不同的人打交道。  <wbr><br />
3  、现实的处境。同样一份工作，在不同的处境下去做，给我们的感受也是不同的。例如，在一家大公司，如果你最初做的是打杂跑腿的工作，你很可能认为是不值得的，可是，一旦你被提升为领班或部门经理，你就不会这样认为了。  <wbr><br />
总结一下，值得做的工作是：符合我们的价值观，适合我们的个性与气质，并能让我们看到期望。如果你的工作不具备这三个因素，你就要考虑换一个更合适的工作，并努力做好它。  <wbr><br />
<br />
<p>因此，对个人来说，应在多种可供选择的奋斗目标及价值观中挑选一种，然后为之而奋斗。 "  选择你所爱的，爱你所选择的 "  ，才可能激发我们的奋斗毅力，也才可以心安理得。而对一个企业或组织来说，则要很好地分析员工的性格特性，合理分配工作，如让成就欲较强的职工单独或牵头来完成具有一定风险和难度的工作，并在其完成时给予定时的肯定和赞扬；让依附欲较强的职工更多地参加到某个团体中共同工作；让权力欲较强的职工担任一个与之能力相适应的主管。同时要加强员工对企业目标的认同感，让员工感觉到自己所做的工作是值得的，这样才能激发职工的热情。  <wbr></p>
<p>&nbsp;</p>
<p>四、彼得原理 </p>
<div id="blogContainer" style="font-size: 12px;"><wbr>彼得原理是美国学者劳伦斯彼得在对组织中人员晋升的相关现象研究后得出的一个结论；在各种组织中，由于习惯于对在某个等级上称职的人员进行晋升提拔，因而雇员总是趋向于晋升到其不称职的地位。彼得原理有时也被称为  " 向上爬 " 原理。这种现象在现实生活中无处不在：一名称职的教授被提升为大学校长后无法胜任；一个优秀的运动员被提升为主管体育的官员，而无所作为。  <wbr><br />
对一个组织而言，一旦组织中的相当部分人员被推到了其不称职的级别，就会造成组织的人浮于事，效率低下，导致平庸者出人头地，发展停滞。因此，这就要求改变单纯的  " 根据贡献决定晋升 "  的企业员工晋升机制，不能因某个人在某一个岗位级别上干得很出色，就推断此人一定能够胜任更高一级的职务。要建立科学、合理的人员选聘机制，客观评价每一位职工的能力和水平，将职工安排到其可以胜任的岗位。不要把岗位晋升当成对职工的主要奖励方式，应建立更有效的奖励机制，更多地以加薪、休假等方式作为奖励手段。有时将一名职工晋升到一个其无法很好发挥才能的岗位，不仅不是对职工的奖励，反而使职工无法很好发挥才能，也给企业带来损失。  <wbr><br />
<p>对个人而言，虽然我们每个人都期待着不停地升职，但不要将往上爬作为自己的惟一动力。与其在一个无法完全胜任的岗位勉力支撑、无所适从，还不如找一个自己能游刃有余的岗位好好发挥自己的专长。  <wbr></p>
<p>&nbsp;</p>
<p>五、零和游戏原理 </p>
<div id="blogContainer" style="font-size: 12px;"><wbr>当你看到两位对弈者时，你就可以说他们正在玩 " 零和游戏 "  。因为在大多数情况下，总会有一个赢，一个输，如果我们把获胜计算为得 1 分，而输棋为 -1 分，那么，这两人得分之和就是： 1+ （ -1 ） =0 。  <wbr><br />
这正是 " 零和游戏 "  的基本内容：游戏者有输有赢，一方所赢正是另一方所输，游戏的总成绩永远是零。 <wbr><br />
零和游戏原理之所以广受关注，主要是因为人们发现在社会的方方面面都能发现与 " 零和游戏 "  类似的局面，胜利者的光荣后面往往隐藏着失败者的辛酸和苦涩。从个人到国家，从政治到经济，似乎无不验证了世界正是一个巨大的 " 零和游戏 "  场。这种理论认为，世界是一个封闭的系统，财富、资源、机遇都是有限的，个别人、个别地区和个别国家财富的增加必然意味着对其他人、其他地区和国家的掠夺，这是一个 "  邪恶进化论 " 式的弱肉强食的世界。 <wbr><br />
但 20  世纪人类在经历了两次世界大战，经济的高速增长、科技进步、全球化以及日益严重的环境污染之后， " 零和游戏 " 观念正逐渐被 " 双赢 "  观念所取代。人们开始认识到 " 利己 " 不一定要建立在 " 损人 " 的基础上。通过有效合作，皆大欢喜的结局是可能出现的。但从 " 零和游戏 " 走向 "  双赢 " ，要求各方要有真诚合作的精神和勇气，在合作中不要耍小聪明，不要总想占别人的小便宜，要遵守游戏规则，否则 " 双赢 "  的局面就不可能出现，最终吃亏的还是自己。 <wbr><br />
<br />
<br />
六、华盛顿合作规律。 <wbr><br />
华盛顿合作规律说的是：一个人敷衍了事，两个人互相推诿，三个人则永无成事之日。多少有点类似于我们 "  三个和尚 " 的故事。人与人的合作不是人力的简单相加，而是要复杂和微妙得多。在人与人的合作中，假定每个人的能力都为 1 ，那么 10 个人的合作结果就有时比  10 大得多，有时甚至比 1  还要小。因为人不是静止的动物，而更像方向各异的能量，相推动时自然事半功倍，相互抵触时则一事无成。我们传统的管理理论中，对合作研究得并不多，最直观的反映就是，目前的大多数管理制度和行业都是致力于减少人力的无谓消耗，而非利用组织提高人的效能。换言之，不妨说管理的主要目的不是让每个人做到最好，而是避免内耗过多。  21 世纪将是一个合作的时代，值得庆幸的是，越来越多的人已经认识到真诚合作的重要性，正在努力学习合作。<wbr>邦尼人力定律：一个人一分钟可以挖一个洞，六十个人一秒种却挖不了一个洞。  <wbr><br />
合作是一个问题，如何合作也是一个问题。  <wbr><br />
<br />
<p>七、酒与污水定律 </p>
<div id="blogContainer" style="font-size: 12px;">酒与污水定律是指，如果把一匙酒倒进一桶污水中，你得到的是一桶污水；如果把一匙污水倒进一桶酒中，你得到的还是一桶污水。几乎在任何组织里，都存在几个难弄的人物，他们存在的目的似乎就是为了把事情搞糟。他们到处搬弄是非，传播流言、破坏组织内部的和谐。最糟糕的是，他们像果箱里的烂苹果，如果你不及时处理，它会迅速传染，把果箱里其它苹果也弄烂，  " 烂苹果 "  的可怕之处在于它那惊人的破坏力。一个正直能干的人进入一个混乱的部门可能会被吞没，而一个人无德无才者能很快将一个高效的部门变成一盘散沙。组织系统往往是脆弱的，是建立在相互理解、妥协和容忍的基础上的，它很容易被侵害、被毒化。破坏者能力非凡的另一个重要原因在于，破坏总比建设容易。一个能工巧匠花费时日精心制作的陶瓷器，一头驴子一秒钟就能毁坏掉。如果拥有再多的能工巧匠，也不会有多少像样的工作成果。如果你的组织里有这样的一头驴子，你应该马上把它清除掉；如果你无力这样做，你就应该把它拴起来。  <wbr><br />
<br />
<br />
八、水桶定律  <wbr><br />
水桶定律是讲，一只水桶能装多少水，完全取决于它最短的那块木板。这就是说任何一个组织都可能面临的一个共同问题，即构成组织的各个部分往往决定了整个组织的水平。构成组织的各个部分往往是优劣不齐的，而劣质部分往往又决定整个组织的水平。<wbr>" 水桶定律 " 与 " 酒与污水定律 " 不同，后者讨论的是组织中的破坏力量，而 " 最短的木板 "  却是组织中有用的一个部分，只不过比其它部分差一些，你不能把它们当成烂苹果扔掉。强弱只是相对而言的，无法消除。问题在于你容忍这种弱点到什么程度。如果它严重到成为阻碍工作的瓶颈，就不得不有所动作。  <wbr><br />
如果你在一个组织中，你应该：  <wbr><br />
1 、确保你不是最薄弱的部分；  <wbr><br />
2 、避免或减少这一薄弱环节对你成功的影响；  <wbr><br />
<p>3  、如果不幸，你正处在这一环节中，你还可以采取有效的方法改进，或者转职去谋另一份工作。 <wbr></p>
<p>&nbsp;</p>
<p>九、蘑菇管理 </p>
<div id="blogContainer" style="font-size: 12px;">蘑菇管理是许多组织对待初出茅庐者的一种管理方法，初学者被置于阴暗的角落（不受重视的部门，或打杂跑腿的工作），浇上一头大粪（无端的批评、指责、代人受过），任其自生自灭（得不到必要的指导和提携）。相信很多人都有这样一段  " 蘑菇 " 的经历，但这不一定是什么坏事，尤其是当一切都刚刚开始的时候，当上几天 " 蘑菇 "  ，能够消除我们很多不切实际的幻想，让我们更加接近现实，看问题也更加实际，而对一个组织而言，一般地新进的人员都是一视同仁，从起薪到工作都不会有大的差别。无论你是多么优秀的人才，在刚开始的时候都只能从最简单的事情做起，  " 蘑菇 "  的经历对于成长中的年轻人来说，就像蚕茧，是羽化前必须经历的一步。所以，如何高效率地走过生命中的这一段，从中尽可能吸取经验，成熟起来，并树立良好的值得信赖的个人形象，是每个刚入社会的年轻人必须面对的课题。
<p>&nbsp;</p>
十、奥卡姆剃刀定律  <wbr><br />
如果你认为只有焦头烂额、忙忙碌碌地工作才可能取得成功，那么，你错了。  事情总是朝着复杂的方向发展，复杂会造成浪费，而效能则来自于单纯。在你做过的事情中可能绝大部分是毫无意义的，真正有效的活动只是其中的一小部分，而它们通常隐含于繁杂的事物中。找到关键的部分，去掉多余的活动，成功并不那么复杂。  <wbr><br />
奥卡姆剃刀：如无发要，勿增实体。  <wbr><br />
12 世纪，英国奥卡姆的威廉对无休无止的关于 &#8220; 共相 &#8221; 、  &#8220; 本质 &#8221; 之类的争吵感到厌倦，主张唯名论，只承认确实存在的东西，认为那些空洞无物的普遍性要领都是无用的累赘，应当被无情地 &#8220; 剃除 &#8221; 。他主张， &#8220;  如无必要，勿增实体。 &#8221; 这就是常说的 &#8220; 奥卡姆剃刀 &#8221;  。这把剃刀曾使很多人感到威胁，被认为是异端邪说，威廉本人也受到伤害。然而，这并未损害这把刀的锋利，相反，经过数百年越来越快，并早已超越了原来狭窄的领域而具有广泛的、丰富的、深刻的意义。  <wbr><br />
奥卡姆剃刀定律  在企业管理中可进一步深化为简单与复杂定律：把事情变复杂很简单，把事情变简单很复杂。这个定律要求，我们在处理事情时，要把握事情的主要实质，把握主流，解决最根本的问题。尤其要顺应自然，不要把事情人为地复杂化，这样才能把事情处理好。<wbr>  <br />
<p>自己再加一个：默菲定律 <wbr></p>
<p>默菲定律源于美国空军1949年进行的关于&#8220;急剧减速对飞行员的影响&#8221;的研究。实验的志愿者们被绑在火箭驱动的雪橇上，当飞速行驶的雪橇突然停止时，实验人员会监控他们的状况。监控器具是一种由空军上尉工程师爱德华&#183;默菲所设计的甲胄，甲胄里面装有电极。有一天，在通常认为无误的测试过程中，甲胄却没有记录任何数据，这使技术人员感到非常吃惊。默菲后来发现甲胄里面的电极每一个都放错了，于是他即席说道：如果某一事情可以有两种或者两种以上的方法来实现，而其中有一种会导致灾难性的错误，那么这一错误往往就会发生。  </p>
<div id="blogContainer" style="font-size: 12px;"><wbr><br />
默菲的这一说法后来得到广泛的流传并被总结成默菲定律：如果坏事有可能发生，不管这种可能性多么小，它总会发生，并可能引起更大的损失<wbr><a href="http://imgcache.qq.com/ac/qzone_v4/b.gif" target="_blank"><wbr><img style="vertical-align: baseline ! important;" src="http://imgcache.qq.com/ac/qzone_v4/b.gif" border="0" height="1" width="1"  alt="" /></a></div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
</div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
</div>
<p>&nbsp;</p>
<p>&nbsp;</p>
</div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
</div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
</div>
<p>&nbsp;</p>
<p><br />
</p>
<p>&nbsp;</p>
</div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
</div><img src ="http://www.cnblogs.com/morningwang/aggbug/1274850.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41943/" target="_blank">[新闻]轮回－新浪推出Facebook模式的SNS</a>]]></description></item><item><title>静态与非静态的区别</title><link>http://www.cnblogs.com/morningwang/archive/2008/08/21/1273225.html</link><dc:creator>金鱼</dc:creator><author>金鱼</author><pubDate>Thu, 21 Aug 2008 07:02:00 GMT</pubDate><guid>http://www.cnblogs.com/morningwang/archive/2008/08/21/1273225.html</guid><wfw:comment>http://www.cnblogs.com/morningwang/comments/1273225.html</wfw:comment><comments>http://www.cnblogs.com/morningwang/archive/2008/08/21/1273225.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cnblogs.com/morningwang/comments/commentRss/1273225.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/morningwang/services/trackbacks/1273225.html</trackback:ping><description><![CDATA[<p>最近一直在看&lt;&lt;你必须知道的.NET&gt;&gt;一书，感觉挺不错，现在把一些内容记录如下：</p>
<p>标题：静动之间：静态和非静态</p>
<p>时间：2008-08-21 </p>
<p>内容：</p>
<p><font face="Verdana">1.静态类与非静态类<br />
●.静态类中只能包含静态成员和静态方法，否则会抛出编译错误；<br />
&nbsp;&nbsp; 而非静态类中可以包含非静态成员和非静态方法，也可以包含<br />
&nbsp;&nbsp; 静态成员和静态方法；<br />
●.静态类不可以实例化；非静态类可以实例化。不管是静态类还是<br />
&nbsp;&nbsp; 非静态类，对于静态成员和静态方法的调用都必须通过类来实现；<br />
●.如果一个类只包含静态成员和静态方法，应该将该类标记为static，<br />
&nbsp;&nbsp; 并提供私有的构造函数来避免实例创建，其实这个也是单件模拟的体现；<br />
&nbsp; </font></p>
<p><font face="Verdana">2静态构造函数与实例构造函数<br />
静态构造函数，用户初始化类中的静态成员，包括静态字段和静态属性。<br />
静态构造函数不能参参数、不能有访问修饰符也不能为调用，通常由.NET<br />
运行库在第一次调用类成员之前执行。<br />
●.静态构造函数，可以和无参数的实例构造函数同存。虽然参数列表相同，<br />
但是二者执行的时间不同，静态构造函数在运行库加载类时执行；而实例构造<br />
函数则在实例创建时执行。<br />
●.静态构造函数，只能对静态成员进行初始化操作，不能用与非静态成员；<br />
而实例构造函数，可以初始化实例成员，也可以初始化静态成员，但是静态<br />
只读字段除外；<br />
●.静态构造函数只被执行一次，而且.NET运行库也无法确定静态构造函数什<br />
么时候被执行；而实例构造函数可以在多次实例创建时被执行多次；<br />
●.一个类只能有一个静态构造函数；而一个类可以有多个实例构造函数；<br />
●.静态成员可以在声明时初始化，也可以通过静态构造函数进行初始化，<br />
这两种初始化都只能被执行一次。一般来说，简单的静态成员在声明时初<br />
始化即可，而复杂的静态成员则选择在静态构造函数中进行初始化较佳；<br />
●.构造函数的大体执行顺序：分配静态成员的内存空间----执行静态成员初<br />
始化----执行静态构造函数----分配对象实例的内存空间----执行实例成员<br />
初始化----执行实例构造函数；</font></p>
<p><font face="Verdana">3.静态成员与实例成员<br />
●.静态成员包含静态字段和静态属性，静态字段实现为private，而静态属性<br />
一般实现为public，以体现类的封装原则；<br />
●.静态成员和类相关联，不依赖于对象而存在，只能由类访问；实例成员和<br />
具体对象相关联，只能由对象实例访问，而不能由类访问；<br />
●.静态成员属于类所有，无论创建多少实例对象，静态成员在内存中只有一份；<br />
实例成员属于类的实例所有，每创建一个实例对象，实例成员都会在内存中分配<br />
一块内存区域；</font></p>
<p><font face="Verdana">4静态方法和实例方法<br />
●.性能上，二者都差不多；<br />
●.静态方法只能访问静态成员和静态方法，可以间接通过创建实例对象来访<br />
问实例成员和实例方法；而实例方法可以直接访问实例成员和实例方法，也可以<br />
直接访问静态成员和静态方法；<br />
●.静态方法只能由类访问，实例方法只能有对象实例访问；<br />
●.静态方法中不能引用this关键字，而实例方法可以；<br />
●.静态方法不能被标记为virtual、abstract或者override，静态方法可以被派生<br />
类访问，但是不能被派生类覆写。<br />
●.Main方法为静态的，因此Main方法中不能直接访问Main所在类的实例方法和实例<br />
成员。<br />
●.静态状态必须是线程安全的。</font></p>
<img src ="http://www.cnblogs.com/morningwang/aggbug/1273225.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41940/" target="_blank">[新闻]惠普139亿美元完成对EDS的收购</a>]]></description></item><item><title>.net开发人员应该必备的十种工具（新/旧对比）</title><link>http://www.cnblogs.com/morningwang/archive/2008/07/15/1243737.html</link><dc:creator>金鱼</dc:creator><author>金鱼</author><pubDate>Tue, 15 Jul 2008 15:50:00 GMT</pubDate><guid>http://www.cnblogs.com/morningwang/archive/2008/07/15/1243737.html</guid><wfw:comment>http://www.cnblogs.com/morningwang/comments/1243737.html</wfw:comment><comments>http://www.cnblogs.com/morningwang/archive/2008/07/15/1243737.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/morningwang/comments/commentRss/1243737.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/morningwang/services/trackbacks/1243737.html</trackback:ping><description><![CDATA[&nbsp;开发人员应该下载的十种软件工具：<br />
<span style="font-family: 宋体">用于编写单元测试的</span> NUnit&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span lang="EN-US" style="font-size: 10.5pt; font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><a href="http://sourceforge.net/projects/nunitaddin">http://sourceforge.net/projects/nunitaddin</a></span>
<p><span style="font-family: 宋体">用于创建代码文档资料的</span> NDoc&nbsp;&nbsp; &nbsp;<span lang="EN-US" style="font-size: 10.5pt; font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><a href="http://ndoc.sourceforge.net">http://ndoc.sourceforge.net</a></span></p>
<p><span style="font-family: 宋体">用于生成解决方案的</span> NAnt&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span lang="EN-US" style="font-size: 10.5pt; font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><a href="http://nant.sourceforge.net">http://nant.sourceforge.net</a></span></p>
<p><span style="font-family: 宋体">用于生成代码的</span> CodeSmith</p>
<p><span style="font-family: 宋体">用于监视代码的</span> FxCop&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span lang="EN-US" style="font-size: 10.5pt; font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><a href="http://www.gotdotnet.com/team/fxcop">http://www.gotdotnet.com/team/fxcop</a></span></p>
<p><span style="font-family: 宋体">用于编译少量代码的</span> Snippet Compiler</p>
<p><span style="font-family: 宋体">用于生成正则表达式的</span> Regulator</p>
<p><span style="font-family: 宋体">两种不同的转换器工具：</span>ASP.NET <span style="font-family: 宋体">版本转换器和</span> Visual Studio .NET <span style="font-family: 宋体">项目转换器</span></p>
<p><span style="font-family: 宋体">用于分析程序集的</span> .NET Reflector&nbsp;&nbsp; <span lang="EN-US" style="font-size: 10.5pt; font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><a href="http://www.aisto.com/roeder/dotnet">http://www.aisto.com/roeder/dotnet</a></span><br />
<br />
最新整理出的十种软件工具：<br />
1. Snippet Compiler：用来编写、编译和运行代码的基于Windows的小型应用程序 <br />
2. Microsoft Source Analysis for C#：是一款C#代码规范检查工具 <br />
3.GhostDoc：Visual Studio的一个免费插件<br />
4.Sandcastle：帮助文档生成工具 <br />
5.Nunit：开放源代码单元测试框架<br />
6.MyGeneration ：代码生成工具 <br />
7.Reflector for .NET：类浏览器和反编译器 <br />
8.The Regulator：生成和测试正则表达式<br />
9.LINQPad：集成在.NET编程语言中的一种特性 <br />
10.NAnt：基于 .NET 的生成工具<br />
<br />
以上并附有部分下载地址。</p>
<img src ="http://www.cnblogs.com/morningwang/aggbug/1243737.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41939/" target="_blank">[新闻]搜狗五笔输入法发布</a>]]></description></item><item><title>(转)几种流行的JS框架的选择 </title><link>http://www.cnblogs.com/morningwang/archive/2008/06/26/1230366.html</link><dc:creator>金鱼</dc:creator><author>金鱼</author><pubDate>Thu, 26 Jun 2008 05:15:00 GMT</pubDate><guid>http://www.cnblogs.com/morningwang/archive/2008/06/26/1230366.html</guid><wfw:comment>http://www.cnblogs.com/morningwang/comments/1230366.html</wfw:comment><comments>http://www.cnblogs.com/morningwang/archive/2008/06/26/1230366.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/morningwang/comments/commentRss/1230366.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/morningwang/services/trackbacks/1230366.html</trackback:ping><description><![CDATA[目前来看，JS框架以及一些开发包和库类有如下几个，<a href="http://dojotoolkit.org/">Dojo</a> 、<a href="http://script.aculo.us/">Scriptaculous</a> 、<a href="http://prototype.conio.net/">Prototype</a> 、<a href="http://developer.yahoo.com/yui/">yui-ext</a> 、<a href="http://docs.jquery.com/Main_Page">Jquery</a> 、<a href="http://www.mochikit.com/">Mochikit</a>、<a href="http://mootools.net/download">mootools</a> 、<a href="http://moofx.mad4milk.net/">moo.fx<br />
</a><br />
<p>Ajaxian在2007年底对Ajax工具进行了调查，部分调查结果见下表（其中数字为调查者使用该工具的百分比，详细的请参见网页）：<a href="http://ajaxian.com/archives/2007-ajax-tools-usage-survey-results">http://ajaxian.com/archives/2007-ajax-tools-usage-survey-results</a></p>
<table style="border-right: medium none; border-top: medium none; border-left: medium none; width: 403.75pt; border-bottom: medium none; border-collapse: collapse" cellspacing="0" cellpadding="0" width="538" border="1">
    <tbody>
        <tr>
            <td style="border-right: black 0.5pt solid; padding-right: 5.4pt; border-top: black 0.5pt solid; padding-left: 5.4pt; padding-bottom: 0cm; border-left: black 0.5pt solid; width: 51.7pt; padding-top: 0cm; border-bottom: black 0.5pt solid; background-color: transparent" valign="top" width="69"><span><font size="3"><font color="#000000"><font face="Times New Roman">Prototype</font></font></font></span></td>
            <td style="border-right: black 0.5pt solid; padding-right: 5.4pt; border-top: black 0.5pt solid; padding-left: 5.4pt; border-left-color: #ece9d8; padding-bottom: 0cm; width: 45.1pt; padding-top: 0cm; border-bottom: black 0.5pt solid; background-color: transparent" valign="top" width="60"><span><font size="3"><font color="#000000"><font face="Times New Roman">jQuery</font></font></font></span></td>
            <td style="border-right: black 0.5pt solid; padding-right: 5.4pt; border-top: black 0.5pt solid; padding-left: 5.4pt; border-left-color: #ece9d8; padding-bottom: 0cm; width: 29.2pt; padding-top: 0cm; border-bottom: black 0.5pt solid; background-color: transparent" valign="top" width="39"><span><font size="3"><font color="#000000"><font face="Times New Roman">Ext</font></font></font></span></td>
            <td style="border-right: black 0.5pt solid; padding-right: 5.4pt; border-top: black 0.5pt solid; padding-left: 5.4pt; border-left-color: #ece9d8; padding-bottom: 0cm; width: 73.25pt; padding-top: 0cm; border-bottom: black 0.5pt solid; background-color: transparent" valign="top" width="98"><span><font size="3"><font color="#000000"><font face="Times New Roman">Script.aculo.us</font></font></font></span></td>
            <td style="border-right: black 0.5pt solid; padding-right: 5.4pt; border-top: black 0.5pt solid; padding-left: 5.4pt; border-left-color: #ece9d8; padding-bottom: 0cm; width: 54.25pt; padding-top: 0cm; border-bottom: black 0.5pt solid; background-color: transparent" valign="top" width="72"><span><font size="3"><font color="#000000"><font face="Times New Roman">Mootools</font></font></font></span></td>
            <td style="border-right: black 0.5pt solid; padding-right: 5.4pt; border-top: black 0.5pt solid; padding-left: 5.4pt; border-left-color: #ece9d8; padding-bottom: 0cm; width: 29.5pt; padding-top: 0cm; border-bottom: black 0.5pt solid; background-color: transparent" valign="top" width="39"><span><font size="3"><font color="#000000"><font face="Times New Roman">YUI</font></font></font></span></td>
            <td style="border-right: black 0.5pt solid; padding-right: 5.4pt; border-top: black 0.5pt solid; padding-left: 5.4pt; border-left-color: #ece9d8; padding-bottom: 0cm; width: 35.9pt; padding-top: 0cm; border-bottom: black 0.5pt solid; background-color: transparent" valign="top" width="48"><span><font size="3"><font color="#000000"><font face="Times New Roman">JSON</font></font></font></span></td>
            <td style="border-right: black 0.5pt solid; padding-right: 5.4pt; border-top: black 0.5pt solid; padding-left: 5.4pt; border-left-color: #ece9d8; padding-bottom: 0cm; width: 33.8pt; padding-top: 0cm; border-bottom: black 0.5pt solid; background-color: transparent" valign="top" width="45"><span><font size="3"><font color="#000000"><font face="Times New Roman">Dojo</font></font></font></span></td>
            <td style="border-right: black 0.5pt solid; padding-right: 5.4pt; border-top: black 0.5pt solid; padding-left: 5.4pt; border-left-color: #ece9d8; padding-bottom: 0cm; width: 51.05pt; padding-top: 0cm; border-bottom: black 0.5pt solid; background-color: transparent" valign="top" width="68"><span><font size="3"><font color="#000000"><font face="Times New Roman">Backbase</font></font></font></span></td>
        </tr>
        <tr>
            <td style="border-right: black 0.5pt solid; padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; border-left: black 0.5pt solid; width: 51.7pt; border-top-color: #ece9d8; padding-top: 0cm; border-bottom: black 0.5pt solid; background-color: transparent" valign="top" width="69"><span><font size="3"><font color="#000000"><font face="Times New Roman">34.1%</font></font></font></span></td>
            <td style="border-right: black 0.5pt solid; padding-right: 5.4pt; padding-left: 5.4pt; border-left-color: #ece9d8; padding-bottom: 0cm; width: 45.1pt; border-top-color: #ece9d8; padding-top: 0cm; border-bottom: black 0.5pt solid; background-color: transparent" valign="top" width="60"><span><font size="3"><font color="#000000"><font face="Times New Roman">29.3%</font></font></font></span></td>
            <td style="border-right: black 0.5pt solid; padding-right: 5.4pt; padding-left: 5.4pt; border-left-color: #ece9d8; padding-bottom: 0cm; width: 29.2pt; border-top-color: #ece9d8; padding-top: 0cm; border-bottom: black 0.5pt solid; background-color: transparent" valign="top" width="39"><span><font size="3"><font color="#000000"><font face="Times New Roman">22.5%</font></font></font></span></td>
            <td style="border-right: black 0.5pt solid; padding-right: 5.4pt; padding-left: 5.4pt; border-left-color: #ece9d8; padding-bottom: 0cm; width: 73.25pt; border-top-color: #ece9d8; padding-top: 0cm; border-bottom: black 0.5pt solid; background-color: transparent" valign="top" width="98"><span><font size="3"><font color="#000000"><font face="Times New Roman">22.3%</font></font></font></span></td>
            <td style="border-right: black 0.5pt solid; padding-right: 5.4pt; padding-left: 5.4pt; border-left-color: #ece9d8; padding-bottom: 0cm; width: 54.25pt; border-top-color: #ece9d8; padding-top: 0cm; border-bottom: black 0.5pt solid; background-color: transparent" valign="top" width="72"><span><font size="3"><font color="#000000"><font face="Times New Roman">14.3%</font></font></font></span></td>
            <td style="border-right: black 0.5pt solid; padding-right: 5.4pt; padding-left: 5.4pt; border-left-color: #ece9d8; padding-bottom: 0cm; width: 29.5pt; border-top-color: #ece9d8; padding-top: 0cm; border-bottom: black 0.5pt solid; background-color: transparent" valign="top" width="39"><span><font size="3"><font color="#000000"><font face="Times New Roman">13%</font></font></font></span></td>
            <td style="border-right: black 0.5pt solid; padding-right: 5.4pt; padding-left: 5.4pt; border-left-color: #ece9d8; padding-bottom: 0cm; width: 35.9pt; border-top-color: #ece9d8; padding-top: 0cm; border-bottom: black 0.5pt solid; background-color: transparent" valign="top" width="48"><span><font size="3"><font color="#000000"><font face="Times New Roman">12.9%</font></font></font></span></td>
            <td style="border-right: black 0.5pt solid; padding-right: 5.4pt; padding-left: 5.4pt; border-left-color: #ece9d8; padding-bottom: 0cm; width: 33.8pt; border-top-color: #ece9d8; padding-top: 0cm; border-bottom: black 0.5pt solid; background-color: transparent" valign="top" width="45"><span><font size="3"><font color="#000000"><font face="Times New Roman">11.8%</font></font></font></span></td>
            <td style="border-right: black 0.5pt solid; padding-right: 5.4pt; padding-left: 5.4pt; border-left-color: #ece9d8; padding-bottom: 0cm; width: 51.05pt; border-top-color: #ece9d8; padding-top: 0cm; border-bottom: black 0.5pt solid; background-color: transparent" valign="top" width="68"><span><font size="3"><font color="#000000"><font face="Times New Roman">8.3%</font></font></font></span></td>
        </tr>
    </tbody>
</table>
<p>其中Prototype使用率最高，很大程度上是因为它是最早成熟的框架，很多以前在项目中采用，所以现在一直在用</p>
<fieldset><legend>Dojo</legend><br />
<br />
主页：<a href="http://dojotoolkit.org/">http://dojotoolkit.org/</a>
<p><strong>优点<br />
</strong>背后强大的支持：IBM、Sun、BEA等，这是非常重要的优势。<br />
功能的强大，Full Stack的框架，扩展了DHTML的能力，例如：<br />
支持与浏览器Back/Forward按钮的集成。<br />
Dojo Offline，一个跨平台的离线存储API。<br />
Chart组件，可以方便地在浏览器端生成图表。<br />
基于SVG/VML的矢量图形库。<br />
Google Maps、Yahoo! Maps组件，方便开发Mashup应用。<br />
Comet支持，通过通用的Buyeux协议。<br />
强大的UI（Dijit）。<br />
面向对象的设计，统一的命名空间，包管理机制（The Package System and Custom Builds）<br />
可扩展性。</p>
<p>缺点<br />
复杂，学习曲线陡。<br />
文档的极端不全，这是一个很大的问题。<br />
API很多不稳定，各版本间改动较大，现在还不是一个成熟的框架。<br />
侵入性太大，页面中大量使用dojo的属性，例如&lt;button dojoType="dijit.form.Button" id="helloButton"&gt;，如果将来dojo升级或者换一个框架时，负担会很大。<br />
性能问题，由于dojo加载采用了同步的机制，会暂时锁定浏览器，导致CPU使用率达到100%。另外，很多Widget的速度很慢。</p>
</fieldset>
<fieldset><br />
<legend>Mootools<br />
</legend><br />
<br />
<br />
主页：<a href="http://mootools.net/">http://mootools.net/</a>
<p><strong>设计思想<br />
</strong>面向对象的设计思想。</p>
<p><strong>优点<br />
</strong>模块化，各模块代码非常独立，最小的核心只有8k，最大的优点是可选择使用哪些模块，用的时候只导入使用的模块即可，完整的也不到180k（没有压缩），压缩后不到70k。<br />
语法的简洁，直观。<br />
特效（Effects）：这一点比jQuery稍强，现在也正在开发Mootools UI（这应该是Ajax框架开发的一个趋势）。<br />
代码写的优美，易阅读和修改。<br />
文档的完整（最新的1.2beta的文档比以前更详细）。<br />
活跃的社区：官网(<a href="http://forum.mootools.net/">http://forum.mootools.net/</a>)，还有一个IRC。<br />
性能：见：<a href="http://mootools.net/slickspeed/">http://mootools.net/slickspeed/</a></p>
<p><strong>缺点</strong><br />
修改了低层的一些类：如Array, String等，这也是设计思想的不同。<br />
在DOM和CSS Selector上不如jQuery强大。</p>
</fieldset>
<p>&nbsp;</p>
<fieldset><legend>JQuery</legend>
<p>主页：<a href="http://jquery.com/">http://jquery.com/</a></p>
<p><strong>设计思想<br />
</strong>简洁的思想：几乎所有操作都是以选择DOM元素（有强大的Selector）开始，然后是对其的操作（Chaining等特性）。</p>
<p><strong>优点</strong><br />
小，压缩后代码只有20多k（无压缩代码94k）。<br />
Selector和DOM操作的方便：jQuery的Selector与mootools的Element.Selectors.js比较，CSS Selector, XPath Selector（1.2后已删除）<br />
Chaining：总是返回一个jQuery对象，可以连续操作。<br />
文档的完整，易用性（每个API都有完整的例子，这是其它框架现在不能比的），而且网上还有很多其它的文档，书籍。<br />
应用的广泛，包括google code也使用了jQuery。</p>
<p><strong>使用jQuery的站点：</strong><a href="http://docs.jquery.com/Sites_Using_jQuery"><strong>http://docs.jquery.com/Sites_Using_jQuery</strong></a><br />
核心的开发团队和核心人员：John Resig等。<br />
简洁和简短的语法，容易记。<br />
可扩展性：有大量用户开发的插件可供使用（<a href="http://jquery.com/plugins/">http://jquery.com/plugins/</a>）<br />
jQuery UI（<a href="http://jquery.com/plugins/">http://jquery.com/plugins/</a>，基于jQuery，但和核心的jQuery是独立的），不断发展中。<br />
友好和活跃的社区：google groups: <a href="http://docs.jquery.com/Discussion">http://docs.jquery.com/Discussion</a><br />
事件处理有很多方便的方法，如click，而不是单一的addEvent之类的。</p>
<p><strong>缺点</strong><br />
由于设计思想是追求高效和简洁，没有面向对象的扩展。设计思路和Mootools不一样。<br />
CSS Selector的速度稍微有些慢（但是现在速度已经大幅提高）</p>
<p><strong>设计思想<br />
</strong>简洁的思想：几乎所有操作都是以选择DOM元素（有强大的Selector）开始，然后是对其的操作（Chaining等特性）。</p>
<p><strong>优点</strong><br />
小，压缩后代码只有20多k（无压缩代码94k）。<br />
Selector和DOM操作的方便：jQuery的Selector与mootools的Element.Selectors.js比较，CSS Selector, XPath Selector（1.2后已删除）<br />
Chaining：总是返回一个jQuery对象，可以连续操作。<br />
文档的完整，易用性（每个API都有完整的例子，这是其它框架现在不能比的），而且网上还有很多其它的文档，书籍。<br />
应用的广泛，包括google code也使用了jQuery。</p>
</fieldset> <br />
<fieldset><legend><strong>Ext JS</strong><br />
</legend>主页：<a href="http://extjs.com/">http://extjs.com/</a>
<p><strong>设计思想</strong><br />
组件化，推进RIA（Rich Internet Application）的应用。</p>
<p><strong>优点</strong><br />
强大的UI，而且性能不错，这是其最大的优点。<br />
速度快，管是UI还是其它模块。<br />
100%面向对象和组件化的思想，一致的语法，全局的命名空间。<br />
文档的完整，规范，方便。<br />
核心的开发团队，Jack Slocum等。<br />
活跃的社区，迅速增加的用户量。<br />
模块化实现，可扩展性强。<br />
所有的组件（widgets）都可直接使用，而无需进行设置（当然，用户可以选择重新配置）。</p>
<p><strong>缺点<br />
</strong>稍复杂。<br />
为重量级的框架（包含大量UI），体积大。如果导入ext-all.js，压缩后也有近500k。</p>
<p>注意：EXT的商业使用：如果只是把extjs包含在自己的项目中，而且这个项目不是卖给用户做二次开发的工具箱，或组件库，就可以遵守LGPL协议免费使用；否则要付费。</p>
</fieldset>
<p>&nbsp;<br />
</p>
<fieldset><legend><strong>总结</strong></legend>轻量级选择<br />
轻量级的选择：主要是mootools和jquery，由于它们的设计思想的不同，jQuery是追求简洁和高效，Mootools除了追求这些目标以外，其核心在于面向对象，所以jQuery适合于快速开发，Mootools适合于稍大型和复杂的项目，其中需要面向对象的支持；另外，在Ajax的支持上，jQuery稍强一些；在Comet的支持上，jQuery有相关的插件，Mootools目前没有，但是Comet的核心在于服务器的支持，浏览器端的接口很简单，开发相关的插件很简单。
<p>在面向对象的Javascript Library中，mootools逐渐战胜了prototype（体积大，面向对象的设计不合理等），也包括script.acul.ous（基于prototype，实际上就是prototype上的UI库）。</p>
<p>面向RIA的框架</p>
<p>考虑纯JavaScripty库，目前主要是Dojo和ExtJS（还有YUI）。Dojo更适合企业应用和产品开发的需要，因为离线存储、DataGrid、2D、3D图形、Chart、Comet等组件对于企业应用来说都是很重要的（当然这些组件还要等一段时间才能稳定下来）。例如，BEA基于Mashup技术开发的产品中已经使用了Dojo。</p>
<p>ExtJS：美观和"易用"，并且足够强大。在对UI有比较大的需求时，是首选。</p>
</fieldset>
<p><br />
<br />
</p>
<img src ="http://www.cnblogs.com/morningwang/aggbug/1230366.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41938/" target="_blank">[新闻]新学年开始 大学生适用的十大互联网应用</a>]]></description></item><item><title>ActionScript3系列课程（二）----流程控制和函数 </title><link>http://www.cnblogs.com/morningwang/archive/2008/06/13/1218783.html</link><dc:creator>金鱼</dc:creator><author>金鱼</author><pubDate>Thu, 12 Jun 2008 17:04:00 GMT</pubDate><guid>http://www.cnblogs.com/morningwang/archive/2008/06/13/1218783.html</guid><wfw:comment>http://www.cnblogs.com/morningwang/comments/1218783.html</wfw:comment><comments>http://www.cnblogs.com/morningwang/archive/2008/06/13/1218783.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/morningwang/comments/commentRss/1218783.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/morningwang/services/trackbacks/1218783.html</trackback:ping><description><![CDATA[一.流程控制<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #008080">&nbsp;1</span><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #000000">package<br />
</span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img id="Codehighlighter1_8_819_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_8_819_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_8_819_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_8_819_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_8_819_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_8_819_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_8_819_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_8_819_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span id="Codehighlighter1_8_819_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_8_819_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;import&nbsp;flash.display.Sprite;<br />
</span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;class&nbsp;Lesson2&nbsp;extends&nbsp;Sprite<br />
</span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img id="Codehighlighter1_80_817_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_80_817_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_80_817_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_80_817_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_80_817_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_80_817_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_80_817_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_80_817_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_80_817_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_80_817_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;</span><span style="color: #0000ff">function</span><span style="color: #000000">&nbsp;Lesson2()<br />
</span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img id="Codehighlighter1_112_814_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_112_814_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_112_814_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_112_814_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_112_814_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_112_814_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_112_814_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_112_814_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_112_814_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_112_814_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img id="Codehighlighter1_117_237_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_117_237_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_117_237_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_117_237_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_117_237_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_117_237_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_117_237_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_117_237_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_117_237_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">/**/</span><span id="Codehighlighter1_117_237_Open_Text"><span style="color: #008000">/*</span><span style="color: #008000"><br />
</span><span style="color: #008080">10</span><span style="color: #008000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;对于if-else、while、for、break、continue和switch和C#一样，这里就不多描述了<br />
</span><span style="color: #008080">11</span><span style="color: #008000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;注意：if<img src="http://www.cnblogs.com/Images/dot.gif"  alt="" />else&nbsp;if<img src="http://www.cnblogs.com/Images/dot.gif"  alt="" />else建议把精确范围小的条件表达式放到最前面&nbsp;<br />
</span><span style="color: #008080">12</span><span style="color: #008000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">*/</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">13</span><span style="color: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">14</span><span style="color: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">for<img src="http://www.cnblogs.com/Images/dot.gif"  alt="" />in和for&nbsp;each<img src="http://www.cnblogs.com/Images/dot.gif"  alt="" />in&nbsp;枚举集合中的元素(类似于C#的foreach)</span><span style="color: #008000"><br />
</span><span style="color: #008080">15</span><span style="color: #008000"><img id="Codehighlighter1_320_427_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_320_427_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_320_427_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_320_427_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_320_427_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_320_427_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_320_427_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_320_427_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">var</span><span style="color: #000000">&nbsp;book:Object&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span id="Codehighlighter1_320_427_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_320_427_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">16</span><span style="color: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bookName:</span><span style="color: #000000">"</span><span style="color: #000000">Flash系列教程</span><span style="color: #000000">"</span><span style="color: #000000">,<br />
</span><span style="color: #008080">17</span><span style="color: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;author:</span><span style="color: #000000">"</span><span style="color: #000000">morningwang</span><span style="color: #000000">"</span><span style="color: #000000">,<br />
</span><span style="color: #008080">18</span><span style="color: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;price:</span><span style="color: #000000">"</span><span style="color: #000000">$10</span><span style="color: #000000">"</span><span style="color: #000000"><br />
</span><span style="color: #008080">19</span><span style="color: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000">;<br />
</span><span style="color: #008080">20</span><span style="color: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">(</span><span style="color: #0000ff">var</span><span style="color: #000000">&nbsp;k&nbsp;</span><span style="color: #0000ff">in</span><span style="color: #000000">&nbsp;book)<br />
</span><span style="color: #008080">21</span><span style="color: #000000"><img id="Codehighlighter1_460_654_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_460_654_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_460_654_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_460_654_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_460_654_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_460_654_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_460_654_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_460_654_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_460_654_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_460_654_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">22</span><span style="color: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;trace(</span><span style="color: #000000">"</span><span style="color: #000000">成员名称(键):</span><span style="color: #000000">"</span><span style="color: #000000">+</span><span style="color: #000000">k</span><span style="color: #000000">+</span><span style="color: #000000">"</span><span style="color: #000000">\t</span><span style="color: #000000">"</span><span style="color: #000000">+</span><span style="color: #000000">"</span><span style="color: #000000">成员(值)：</span><span style="color: #000000">"</span><span style="color: #000000">+</span><span style="color: #000000">book[k]);<br />
</span><span style="color: #008080">23</span><span style="color: #000000"><img id="Codehighlighter1_522_646_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_522_646_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_522_646_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_522_646_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_522_646_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_522_646_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_522_646_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_522_646_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_522_646_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">/**/</span><span id="Codehighlighter1_522_646_Open_Text"><span style="color: #008000">/*</span><span style="color: #008000"><br />
</span><span style="color: #008080">24</span><span style="color: #008000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;成员名称(键):bookName&nbsp;&nbsp;&nbsp;&nbsp;成员(值)：Flash系列教程<br />
</span><span style="color: #008080">25</span><span style="color: #008000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;成员名称(键):price&nbsp;&nbsp;&nbsp;&nbsp;成员(值)：$10<br />
</span><span style="color: #008080">26</span><span style="color: #008000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;成员名称(键):author&nbsp;&nbsp;&nbsp;&nbsp;成员(值)：morningwang<br />
</span><span style="color: #008080">27</span><span style="color: #008000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">*/</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">28</span><span style="color: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">29</span><span style="color: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;each(</span><span style="color: #0000ff">var</span><span style="color: #000000">&nbsp;i&nbsp;</span><span style="color: #0000ff">in</span><span style="color: #000000">&nbsp;book)<br />
</span><span style="color: #008080">30</span><span style="color: #000000"><img id="Codehighlighter1_691_804_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_691_804_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_691_804_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_691_804_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_691_804_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_691_804_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_691_804_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_691_804_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_691_804_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_691_804_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">31</span><span style="color: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;trace(</span><span style="color: #000000">"</span><span style="color: #000000">成员：</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;i);<br />
</span><span style="color: #008080">32</span><span style="color: #000000"><img id="Codehighlighter1_727_796_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_727_796_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_727_796_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_727_796_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_727_796_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_727_796_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_727_796_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_727_796_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_727_796_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">/**/</span><span id="Codehighlighter1_727_796_Open_Text"><span style="color: #008000">/*</span><span style="color: #008000"><br />
</span><span style="color: #008080">33</span><span style="color: #008000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;成员：Flash系列教程<br />
</span><span style="color: #008080">34</span><span style="color: #008000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;成员：$10<br />
</span><span style="color: #008080">35</span><span style="color: #008000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;成员：morningwang<br />
</span><span style="color: #008080">36</span><span style="color: #008000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">*/</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">37</span><span style="color: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">38</span><span style="color: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">39</span><span style="color: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">40</span><span style="color: #000000"><img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span></div>
<br />
二。函数介绍<br />
暂无...
<img src ="http://www.cnblogs.com/morningwang/aggbug/1218783.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41937/" target="_blank">[新闻]Google拟在9月发布自有浏览器 或采用火狐内核</a>]]></description></item><item><title>ActionScript3系列课程（一）----基本元素</title><link>http://www.cnblogs.com/morningwang/archive/2008/06/13/1218770.html</link><dc:creator>金鱼</dc:creator><author>金鱼</author><pubDate>Thu, 12 Jun 2008 16:19:00 GMT</pubDate><guid>http://www.cnblogs.com/morningwang/archive/2008/06/13/1218770.html</guid><wfw:comment>http://www.cnblogs.com/morningwang/comments/1218770.html</wfw:comment><comments>http://www.cnblogs.com/morningwang/archive/2008/06/13/1218770.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cnblogs.com/morningwang/comments/commentRss/1218770.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/morningwang/services/trackbacks/1218770.html</trackback:ping><description><![CDATA[摘要: 简述：Flash ActionScript3开发环境：Adobe Flex Builder 3（同时需要安装flashplayer_9_ax_debug.exe，要不无法显示结果，F11运行看结果）.代码如下：package{importflash.display.Sprite;//导入包publicclassExampleApplicationextendsSprite{//构造函数public&nbsp;&nbsp;<a href='http://www.cnblogs.com/morningwang/archive/2008/06/13/1218770.html'>阅读全文</a><img src ="http://www.cnblogs.com/morningwang/aggbug/1218770.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41937/" target="_blank">[新闻]Google拟在9月发布自有浏览器 或采用火狐内核</a>]]></description></item><item><title>网联网之电子商务概念</title><link>http://www.cnblogs.com/morningwang/archive/2008/05/14/1197407.html</link><dc:creator>金鱼</dc:creator><author>金鱼</author><pubDate>Wed, 14 May 2008 15:31:00 GMT</pubDate><guid>http://www.cnblogs.com/morningwang/archive/2008/05/14/1197407.html</guid><wfw:comment>http://www.cnblogs.com/morningwang/comments/1197407.html</wfw:comment><comments>http://www.cnblogs.com/morningwang/archive/2008/05/14/1197407.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/morningwang/comments/commentRss/1197407.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/morningwang/services/trackbacks/1197407.html</trackback:ping><description><![CDATA[<p><font face="Verdana"><strong>电子商务，Electronic Commerce</strong>，通常是指是在全球各地广泛的商业贸易活动中，在因特网开放的网络环境下，基于浏览器/服务器应用方式，买卖双方不谋面地进行各种商贸活动，实现消费者的网上购物、商户之间的网上交易和在线电子支付以及各种商务活动、交易活动、金融活动</font></p>
<p><font face="Verdana"><strong>B2M 指的是Business to Manager<br />
</strong>B2M是相对于B2B、B2C、C2C的电子商务模式而言，是一种全新的电子商务模式。而这种电子商务相对于以上三种有着本质的不同，其根本的区别在于目标客户群的性质不同，前三者的目标客户群都是作为一种消费者的身份出现，而B2M所针对的客户群是该企业或者该产品的销售者或者为其工作者，而不是最终消费者。</font></p>
<p><font face="Verdana"><strong>C2A消费者对行政机构的电子商务<br />
</strong>消费者对行政机构(Consumer-to-administrations)的电子商务，指的是政府对个人的电子商务活动。这类的电子商务活动目前还没有真正形成。然而，在个别发达国家，如在澳大利亚，政府的税务机构已经通过指定私营税务，或财务会计事务所用电子方式来为个人报税。这类活动虽然还没有达到真正的报税电子化，但是，它已经具备了消费者对行政机构电子商务的雏形。</font></p>
<p><font face="Verdana"><strong>C2C即Consumer To Consumer。</strong><br />
C2C同B2B、B2C一样，都是电子商务的几种模式之一。不同的是C2C是用户对用户的模式，C2C商务平台就是通过为买卖双方提供一个在线交易平台，使卖方可以主动提供商品上网拍卖，而买方可以自行选择商品进行竞价。</font></p>
<p><font face="Verdana"><strong>B2C即business to customer</strong><br />
B2C模式是我国最早产生的电子商务模式，以8848网上商城正式运营为标志。B2C即企业通过互联网为消费者提供一个新型的购物环境——网上商店，消费者通过网络在网上购物、在网上支付。由于这种模式节省了客户和企业的时间和空间，大大提高了交易效率，特别对于工作忙碌的上班族，这种模式可以为其节省宝贵的时间。</font></p>
<p><font face="Verdana"><strong>B2B 指的是Business to Business.</strong> <br />
as in businesses doing business with other businesses,商家(泛指企业)对商家的电子商务，即企业与企业之间通过互联网进行产品、服务及信息的交换。通俗的说法是指进行电子商务交易的供 需双方都是商家(或企业、公司)，她（他）们使用了Internet的技术或各种商务网络平台，完成商务交易的过程。这些过程包括：发布供求信息，订货及 确认订货，支付过程及票据的签发、传送和接收，确定配送方案并监控配送过程等。有时写作B to B，但为了简便干脆用其谐音B2B(2即to)。 </font></p>
<p><font face="Verdana"><strong>B2A 商业机构对行政机构的电子商务</strong><br />
商业机构对行政机构(Business-to-administrations)的电子商务指的是企业与政府机构之间进行的电子商务活动。例如，政府将采购的细节在国际互联网络上公布，通过网上竞价方式进行招标，企业也要通过电子的方式进行投标。</font></p>
<img src ="http://www.cnblogs.com/morningwang/aggbug/1197407.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41936/" target="_blank">[新闻]微软正在构思将Wi-Fi带入汽车</a>]]></description></item><item><title>设计模式之抽象工厂（一）</title><link>http://www.cnblogs.com/morningwang/archive/2008/04/30/1177921.html</link><dc:creator>金鱼</dc:creator><author>金鱼</author><pubDate>Wed, 30 Apr 2008 08:35:00 GMT</pubDate><guid>http://www.cnblogs.com/morningwang/archive/2008/04/30/1177921.html</guid><wfw:comment>http://www.cnblogs.com/morningwang/comments/1177921.html</wfw:comment><comments>http://www.cnblogs.com/morningwang/archive/2008/04/30/1177921.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/morningwang/comments/commentRss/1177921.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/morningwang/services/trackbacks/1177921.html</trackback:ping><description><![CDATA[摘要: 一。组成部分1.抽象工厂----担任这个角色的是工厂方法模式的核心，它是与应用系统商业逻辑无关的。 2.具体工厂----这个角色直接在客户端的调用下创建产品的实例。这个角色含有选择合适的产品对象的逻辑，而这个逻辑是与应用系统的商业逻辑紧密相关的。3.抽象产品----担任这个角色的类是工厂方法模式所创建的对象的父类，或它们共同拥有的接口。4.具体产品----抽象工厂模式所创建的任何产品对象都是某一个&nbsp;&nbsp;<a href='http://www.cnblogs.com/morningwang/archive/2008/04/30/1177921.html'>阅读全文</a><img src ="http://www.cnblogs.com/morningwang/aggbug/1177921.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41935/" target="_blank">[新闻]对比测试：IE8 Beta 2 VS Firefox 3.0.1</a>]]></description></item><item><title>技术解析：什么是模式？ 什么是框架？[转]</title><link>http://www.cnblogs.com/morningwang/archive/2008/04/29/1176854.html</link><dc:creator>金鱼</dc:creator><author>金鱼</author><pubDate>Tue, 29 Apr 2008 13:36:00 GMT</pubDate><guid>http://www.cnblogs.com/morningwang/archive/2008/04/29/1176854.html</guid><wfw:comment>http://www.cnblogs.com/morningwang/comments/1176854.html</wfw:comment><comments>http://www.cnblogs.com/morningwang/archive/2008/04/29/1176854.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/morningwang/comments/commentRss/1176854.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/morningwang/services/trackbacks/1176854.html</trackback:ping><description><![CDATA[<font size="2">1．什么是模式？ <br />
<br />
模式，即pattern。其实就是解决某一类问题的方法论。你把解决某类问题的方法总结归纳到理论高度，那就是模式。 <br />
<br />
Alexander给出的经典定义是：每个模式都描述了一个在我们的环境中不断出现的问题，然后描述了该问题的解决方案的核心。通过这种方式，你可以无数次地使用那些已有的解决方案，无需在重复相同的工作。 <br />
<br />
模式有不同的领域，建筑领域有建筑模式，软件设计领域也有设计模式。当一个领域逐渐成熟的时候，自然会出现很多模式。 <br />
<br />
什么是框架？ <br />
<br />
框架，即framework。其实就是某种应用的半成品，就是一组组件，供你选用完成你自己的系统。简单说就是使用别人搭好的舞台，你来做表演。而且，框架一般是成熟的，不断升级的软件。 <br />
<br />
2．为什么要用模式？ <br />
<br />
因为模式是一种指导，在一个良好的指导下，有助于你完成任务，有助于你作出一个优良的设计方案，达到事半功倍的效果。而且会得到解决问题的最佳办法。 <br />
<br />
为什么要用框架？ <br />
<br />
因为软件系统发展到今天已经很复杂了，特别是服务器端软件，涉及到的知识，内容，问题太多。在某些方面使用别人成熟的框架，就相当于让别人帮你完成一些基础工作，你只需要集中精力完成系统的业务逻辑设计。而且框架一般是成熟，稳健的，他可以处理系统很多细节问题，比如，事物处理，安全性，数据流控制等问题。还有框架一般都经过很多人使用，所以结构很好，所以扩展性也很好，而且它是不断升级的，你可以直接享受别人升级代码带来的好处。 <br />
<br />
框架一般处在低层应用平台（如J2EE）和高层业务逻辑之间的中间层。 <br />
<br />
软件为什么要分层？ <br />
<br />
为了实现&#8220;高内聚、低耦合&#8221;。把问题划分开来各个解决，易于控制，易于延展，易于分配资源&#8230;总之好处很多啦：）。 <br />
<br />
3．以下所述主要是JAVA，J2EE方面的模式和框架： <br />
<br />
常见的设计模式有什么？ <br />
<br />
首先，你要了解的是GOF的《设计模式--可复用面向对象软件的基础》一书（这个可以说是程序员必备的了），注意：GOF不是一个人，而是指四个人。它的原意是Gangs Of Four,就是&#8220;四人帮&#8221;，就是指此书的四个作者：Erich Gamma,Richard Helm，Ralph Johnson,John Vlissides。这本书讲了23种主要的模式，包括：抽象工厂、适配器、外观模式等。 <br />
<br />
还有其他的很多模式，估计有100多种。 <br />
<br />
软件设计模式太多，就我的理解简单说一下最常见的MVC模式。 <br />
<br />
MVC模式是1996年由Buschmann提出的： <br />
<br />
模型（Model）：就是封装数据和所有基于对这些数据的操作。 <br />
<br />
视图（View）：就是封装的是对数据显示，即用户界面。 <br />
<br />
控制器（Control）：就是封装外界作用于模型的操作和对数据流向的控制等。 <br />
<br />
另外： <br />
<br />
RUP（Rational Unified Process）软件统一过程，XP（Extreme Programming）极端编程，这些通常被叫做&#8220;过程方法&#8221;，是一种软件项目实施过程的方法论，它是针对软件项目的实施过程提出的方法策略。也是另一个角度的模式。 <br />
<br />
4．常见的JAVA框架有什么？ <br />
<br />
WAF： <br />
<br />
全称：WEB APPLICATION FRAMEWORK <br />
<br />
主要应用方面：EJB层，（WEB层也有，但是比较弱）。 <br />
<br />
主要应用技术：EJB等 <br />
<br />
出处：http://java.sun.com/blueprints/code/index.html <br />
<br />
简述：这是SUN在展示J2EE平台时所用的例子PetStore(宠物商店系统)里面的框架。是SUN蓝皮书例子程序中提出的应用框架。它实现了 MVC和其他良好的设计模式。SUN的网站上有技术资料，最好下载PetStore来研究，WEBLOGIC里自带此系统，源码在bea/weblogic700/samples/server/src/petstore。这是学习了解J2EE的首选框架。 <br />
<br />
Struts: <br />
<br />
主要应用方面：WEB层。 <br />
<br />
主要应用技术：JSP,TagLib,JavaBean,XML等 <br />
<br />
出处：http://jakarta.apache.org/struts/index.html <br />
<br />
简述：这是APACHE的开源项目，目前应用很广泛。基于MVC模式，结构很好，基于JSP。Jbuilder8里已经集成了STRUTS1.02的制作。 <br />
<br />
简述WAF+STRUTS结合的例子：WEB层用STRUTS，EJB层用WAF： <br />
<br />
JSP(TagLib)——&gt;ActionForm——&gt;Action　——&gt;　Event——&gt;EJBAction——&gt;EJB　　——&gt;DAO——&gt;Database　JSP（TagLib） (forward) &lt;——Action　&lt;——EventResponse&lt;—— <br />
<br />
Turbine： <br />
<br />
主要应用方面：WEB层。 <br />
<br />
主要应用技术：servlet等 <br />
<br />
出处：http://jakarta.apache.org/turbine/index.html <br />
<br />
简述：这是APACHE的开源项目。基于SERVLET。据说速度比较快，基于service（pluggable implementation可插拔的执行组件）的方式提供各种服务。 <br />
<br />
COCOON： <br />
<br />
主要应用方面：WEB层。 <br />
<br />
主要应用技术：XML，XSP，servlet等 <br />
<br />
出处：http://cocoon.apache.org/2.0/ <br />
<br />
简述：这是APACHE的一个开源项目。基于XML，基于XSP（通俗地说，XSP是在XML静态文档中加入Java程序段后形成的动态XML文档。）。特点是可以与多种数据源交互，包括文件系统，数据库，LDAP，XML资源库，网络数据源等。 <br />
<br />
ECHO： <br />
<br />
主要应用方面：WEB层。 <br />
<br />
主要应用技术：servlet　　 <br />
<br />
出处：http://www.nextapp.com/products/echo/ <br />
<br />
简述：nextapp公司的一个开源项目。基于SERVLET。页面可以做的很漂亮，结合echopoint，可以作出很多图形效果（里面用了jfreechart包）。使用SWING的思想来作网页，把HTML当作JAVA的类来做。但是大量使用Session，页面分帧（Frame）很多,系统资源消耗很大。 <br />
<br />
JATO： <br />
<br />
全称：SUN ONE Application Framework <br />
<br />
主要应用方面：WEB层。 <br />
<br />
主要应用技术：JSP,TagLib,JavaBean等 <br />
<br />
出处：http://www.sun.com/ <br />
<br />
简述：这是SUN推出的一个商业性框架，一看名字就知道是结合SUN ONE的平台推出的。我下载了JATO2.0看了一下，感觉有些简单，使用了JSP＋TagLib+JavaBean。如他的DOC所说JATO是适合用在小的WEB应用里。 <br />
<br />
TCF： <br />
<br />
全称：Thin-Client Framework <br />
<br />
主要应用方面：JAVA GUI。 <br />
<br />
主要应用技术：JAVA application等 <br />
<br />
出处：http://www.alphaworks.ibm.com/tech/tcf <br />
<br />
简述：这是IBM出的一个框架。基于MVC模式，基于JAVA Application。推荐一篇介绍文章：http://www-900.ibm.com/developerWorks/cn/java/j-tcf1/index.shtml<br />
</font>
<img src ="http://www.cnblogs.com/morningwang/aggbug/1176854.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41934/" target="_blank">[新闻]iPhone存在严重密码安全漏洞</a>]]></description></item><item><title>三层架构图[转]</title><link>http://www.cnblogs.com/morningwang/archive/2008/04/14/1153518.html</link><dc:creator>金鱼</dc:creator><author>金鱼</author><pubDate>Mon, 14 Apr 2008 15:38:00 GMT</pubDate><guid>http://www.cnblogs.com/morningwang/archive/2008/04/14/1153518.html</guid><wfw:comment>http://www.cnblogs.com/morningwang/comments/1153518.html</wfw:comment><comments>http://www.cnblogs.com/morningwang/archive/2008/04/14/1153518.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/morningwang/comments/commentRss/1153518.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/morningwang/services/trackbacks/1153518.html</trackback:ping><description><![CDATA[<strong style="font-size: 12pt">一．三层架构图</strong><br />
<img src="http://www.cnblogs.com/images/cnblogs_com/dabing/127413/r_ThreeArct_1.JPG"  alt="" /><br />
&nbsp;<br />
<br />
<strong style="font-size: 12pt">二．系统各层次职责</strong><br />
1.UI（User Interface）层的职责是数据的展现和采集，数据采集的结果通常以Entity object提交给BL层处理。Service Interface侧层用于将业务或数据资源发布为服务（如WebServices）。<br />
2.BL（Business Logic）层的职责是按预定的业务逻辑处理UI层提交的请求。<br />
（1）Business Function 子层负责基本业务功能的实现。<br />
（2）Business Flow 子层负责将Business Function子层提供的多个基本业务功能组织成一个完整的业务流。（Transaction只能在Business Flow 子层开启。）<br />
3．ResourceAccess层的职责是提供全面的资源访问功能支持，并向上层屏蔽资源的来源。<br />
（1）BEM（Business Entity Manager）子层采用DataAccess子层和ServiceAccess子层来提供业务需要的基础数据/资源访问能力。<br />
（2）DataAccess子层负责从数据库中存取资源，并向BEM子层屏蔽所有的SQL语句以及数据库类型差异。<br />
DB Adapter子层负责屏蔽数据库类型的差异。<br />
ORM子层负责提供对象－关系映射的功能。<br />
Relation子层提供ORM无法完成的基于关系（Relation）的数据访问功能。<br />
（3）ServiceAccess子层用于以SOA的方式从外部系统获取资源。<br />
注： Service Entrance用于简化对Service的访问，它相当于Service的代理，客户直接使用Service Entrance就可以访问系统发布的服务。Service&nbsp;&nbsp;&nbsp;&nbsp; Entrance为特定的平台（如Java、.Net）提供强类型的接口，内部可能隐藏了复杂的参数类型转换。<br />
（4）ConfigAccess子层用于从配置文件中获取配置object或将配置object保存倒配置文件。<br />
4．Entity侧层跨越UI/BEM/ResourceManager层，在这些层之间传递数据。Entity侧层中包含三类Entity，如下图所示：<br />
<img src="http://www.cnblogs.com/images/cnblogs_com/dabing/127413/r_ThreeArct_2.JPG"  alt="" /><br />
&nbsp;<br />
<strong style="font-size: 12pt">三．Aspect</strong><br />
&nbsp;Aspect贯穿于系统各层，是系统的横切关注点。通常采用AOP技术来对横切关注点进行建模和实现。<br />
1．Securtiy Aspect：用于对整个系统的Security提供支持。<br />
2．ErrorHandling Aspect：整个系统采用一致的错误/异常处理方式。<br />
3．Log Aspect：用于系统异常、日志记录、业务操作记录等。<br />
<br />
<span style="font-size: 12pt"><strong>四．规则</strong></span><br />
1．系统各层次及层内部子层次之间都不得跨层调用。<br />
2．Entity object 在各个层之间传递数据。<br />
3．需要在UI层绑定到列表的数据采用基于关系的DataSet传递，除此之外，应该使用Entity object传递数据。<br />
4．对于每一个数据库表（Table）都有一个DB Entity class与之对应，针对每一个Entity class都会有一个BEM Class与之对应。<br />
5．有些跨数据库或跨表的操作（如复杂的联合查询）也需要由相应的BEM Class来提供支持。<br />
6．对于相对简单的系统，可以考虑将Business Function子层和Business Flow 子层合并为一个。<br />
7．UI层和BL层禁止出现任何SQL语句。<br />
<br />
<strong style="font-size: 12pt">五．错误与异常</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 异常可以分为系统异常（如网络突然断开）和业务异常（如用户的输入值超出最大范围），业务异常必须被转化为业务执行的结果。<br />
1．DataAccess层不得向上层隐藏任何异常（该层抛出的异常几乎都是系统异常）。<br />
2．要明确区分业务执行的结果和系统异常。比如验证用户的合法性，如果对应的用户ID不存在，不应该抛出异常，而是返回（或通过out参数）一个表示验证结果的枚举值，这属于业务执行的结果。但是，如果在从数据库中提取用户信息时，数据库连接突然断开，则应该抛出系统异常。<br />
3．在有些情况下，BL层应根据业务的需要捕获某些系统异常，并将其转化为业务执行的结果。比如，某个业务要求试探指定的数据库是否可连接，这时BL就需要将数据库连接失败的系统异常转换为业务执行的结果。<br />
4．UI层(包括Service层)除了从调用BL层的API获取的返回值来查看业务的执行结果外，还需要截获所有的系统异常，并将其解释为友好的错误信息呈现给用户。<br />
<br />
<strong style="font-size: 12pt">六．项目组织目结构</strong><br />
&nbsp;以BAS系统为例。<br />
1．主目录结构：<br />
&nbsp;<img src="http://www.cnblogs.com/images/cnblogs_com/dabing/127413/r_ThreeArct_3.JPG"  alt="" /><br />
2．命名空间命名：每个dll的根命名空间即是该dll的名字，如EAS.BL.dll的根命名空间就是EAS.BL。每个根命名空间下面可以根据需求的分类而增加子命名空间，比如，EAS.BL的子空间EAS.BL.Order与EAS.BL.Permission分别处理不同的业务逻辑。<br />
3.包含众多子项目的庞大项目的物理组织：<br />
&nbsp;<img src="http://www.cnblogs.com/images/cnblogs_com/dabing/127413/r_ThreeArct_4.JPG"  alt="" /><br />
核心子项目Core的位置：<br />
<img src="http://www.cnblogs.com/images/cnblogs_com/dabing/127413/r_ThreeArct_5.JPG"  alt="" /><br />
&nbsp;<br />
Core子项目中包含一些公共的基础设施，如错误处理、权限控制方面等。<br />
<br />
<strong style="font-size: 12pt">七．发布服务与服务回调</strong><br />
以EAS系统为例。<br />
&nbsp;<img src="http://www.cnblogs.com/images/cnblogs_com/dabing/127413/r_ThreeArct_6.JPG"  alt="" /><br />
1．同UI层的Page一样，服务也不允许抛出任何异常，而是应该以返回错误码(int型，1表示成功，其它值表示失败)的形式来表明服务调用出现了错误，如果方法有返回值，则返回值以out参数提供。<br />
2. 如果BAS系统提供了WebService（Remoting）服务，则BAS必须提供BAS.Entrance.dll。 BAS.Entrance.dll封装了与BAS服务交换信息的通信机制，客户系统只要通过BAS.Entrance.dll就可以非常简便地访问BAS 提供的服务。<br />
3．如果BAS需要通过WebService（Remoting）回调客户系统，则必须提供仅仅定义了接口的BAS.CallBack.dll，客户系统将引用该dll，实现其中的接口，并将其发布为服务，供BAS回调。<br />
4．当WebService的参数或返回值需要是复杂类型――即架构图中的Service Entity，则Service Entity应该在对应的BAS.EntranceParaDef.dll或BAS.CallBackParaDef.dll中定义。 WebService定义的方法中的复杂类型应该使用Xml字符串代替（注意，Entrance和CallBack接口对应服务的方法的参数是强类型的），而Xml字符串和复杂类型对象之间的转换应当在BAS.Entrance.dll或BAS.CallBack.dll中实现。
<img src ="http://www.cnblogs.com/morningwang/aggbug/1153518.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41931/" target="_blank">[新闻]GC2008：星际争霸2进程报告 微调进程延续</a>]]></description></item></channel></rss>