﻿<?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>BlogJava-赖猫，在学习-文章分类-PEAA分析模式 之 读书笔记</title><link>http://www.blogjava.net/amenglai/category/37406.html</link><description /><language>zh-cn</language><lastBuildDate>Wed, 20 Jan 2010 17:35:01 GMT</lastBuildDate><pubDate>Wed, 20 Jan 2010 17:35:01 GMT</pubDate><ttl>60</ttl><item><title>PEAA，就这么读完了</title><link>http://www.blogjava.net/amenglai/articles/310205.html</link><dc:creator>amenglai</dc:creator><author>amenglai</author><pubDate>Wed, 20 Jan 2010 03:45:00 GMT</pubDate><guid>http://www.blogjava.net/amenglai/articles/310205.html</guid><wfw:comment>http://www.blogjava.net/amenglai/comments/310205.html</wfw:comment><comments>http://www.blogjava.net/amenglai/articles/310205.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/amenglai/comments/commentRss/310205.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/amenglai/services/trackbacks/310205.html</trackback:ping><description><![CDATA[前天这本PEAA终于给我读完了。其实这本书还是我在2004年买的，记得当时还买了那本著名的refector，那本书当时就读完了，而这本PEAA根本看不下去。<br />
现在终于读完了，看来这几年的活不是白干的哦，如果没有收获，咋能产生共鸣呢。可是我却写不出读书笔记，好像有很多的体会，但是一旦坐在电脑前，又大脑一片空白。<img alt="" src="/CuteSoft_Client/CuteEditor/images/emembarrassed.gif" align="absMiddle" border="0" />（那是因为你还没有理解<img alt="" src="/CuteSoft_Client/CuteEditor/images/emcry.gif" align="absMiddle" border="0" />，鉴定完毕）<br />
But，读完和理解之间还有chasm需要跨越，是的，我会在H系统的重构上刻意去使用它。<img alt="" src="/CuteSoft_Client/CuteEditor/images/face1.gif" align="absMiddle" border="0" />这样才会有体会。<br />
<span style="color: red">其实这本书应该先去读base pattern部分，</span>因为Martin大叔的很多pattern都会用到base pattern，但是偶不知他老人家为啥把这部分放在了最后。<br />
今天，从今天开始，我开始新的C++journey：Effecitive C++。 
<img src ="http://www.blogjava.net/amenglai/aggbug/310205.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/amenglai/" target="_blank">amenglai</a> 2010-01-20 11:45 <a href="http://www.blogjava.net/amenglai/articles/310205.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>《分析模式》读后感</title><link>http://www.blogjava.net/amenglai/articles/266968.html</link><dc:creator>amenglai</dc:creator><author>amenglai</author><pubDate>Wed, 22 Apr 2009 05:29:00 GMT</pubDate><guid>http://www.blogjava.net/amenglai/articles/266968.html</guid><wfw:comment>http://www.blogjava.net/amenglai/comments/266968.html</wfw:comment><comments>http://www.blogjava.net/amenglai/articles/266968.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/amenglai/comments/commentRss/266968.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/amenglai/services/trackbacks/266968.html</trackback:ping><description><![CDATA[<p>终于把《分析模式》读完了，没想到花了近4个月的时间。读的这么辛苦<img src="/CuteSoft_Client/CuteEditor/images/emsad.gif" align="absMiddle" border="0"  alt="" /><br />
不可否认，这是一本可以&#8220;怡情&#8221;的好书。前面的9章是最值得一读的。<br />
但是我想大叔在写这本书时，还没有能够像&#8220;refactor&#8221;时那样高度概括，所以书中掺杂了很多财务的专业知识背景，我，没有做过，所以读起来很费劲。</p>
<p>是的<br />
从明天起，我将做个C++人<br />
和Lippman周游世界<br />
</p>
<img src ="http://www.blogjava.net/amenglai/aggbug/266968.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/amenglai/" target="_blank">amenglai</a> 2009-04-22 13:29 <a href="http://www.blogjava.net/amenglai/articles/266968.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Hello,学点SmallTalk吧</title><link>http://www.blogjava.net/amenglai/articles/266009.html</link><dc:creator>amenglai</dc:creator><author>amenglai</author><pubDate>Thu, 16 Apr 2009 09:34:00 GMT</pubDate><guid>http://www.blogjava.net/amenglai/articles/266009.html</guid><wfw:comment>http://www.blogjava.net/amenglai/comments/266009.html</wfw:comment><comments>http://www.blogjava.net/amenglai/articles/266009.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/amenglai/comments/commentRss/266009.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/amenglai/services/trackbacks/266009.html</trackback:ping><description><![CDATA[&nbsp;
<p class="MsoNormal" style="text-indent: 21pt; mso-char-indent-count: 2.0"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">久仰</span><span lang="EN-US" style="font-family: Arial">SmallTalk</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">的大名，大概是因为很多</span><span lang="EN-US" style="font-family: Arial">design pattern</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">的名著都提到它，并且一说到</span><span lang="EN-US" style="font-family: Arial">OOAD</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">也都会提到它老人家。但是我并不知道它是啥子东东，就像谁关心</span><span lang="EN-US" style="font-family: Arial">Ada</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">一样。</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent: 21pt; mso-char-indent-count: 2.0"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">但是出来混总是需要还的</span><span lang="EN-US" style="font-family: Wingdings; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-char-type: symbol; mso-symbol-font-family: Wingdings"><span style="mso-char-type: symbol; mso-symbol-font-family: Wingdings">L</span></span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">没想到</span><span lang="EN-US" style="font-family: Arial">Martin</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">大叔的&#8220;分析模式&#8221;竟然是用这个鬼东西写的代码，额的神啊，我只好打起万分的精神，恶补一下。</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent: 21pt; mso-char-indent-count: 2.0"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">最不幸的是网上能够找到的关于</span><span lang="EN-US" style="font-family: Arial">SmallTalk</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">书，确实比</span><span lang="EN-US" style="font-family: Arial">Java</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">少得多的多。找到一本</span><span lang="EN-US" style="font-family: Arial">E</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">文的，将就吧。</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent: 21pt; mso-char-indent-count: 2.0"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">另外的发现就是</span><span lang="EN-US" style="font-family: Arial">ruby</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">号称</span><span lang="EN-US" style="font-family: Arial">ruby&gt;(smalltalk+perl)</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">，所以有些资料可以在</span><span lang="EN-US" style="font-family: Arial">ruby</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">中找到哈。</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent: 21pt; mso-char-indent-count: 2.0"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">我的这份</span><span lang="EN-US" style="font-family: Arial">Smalltalk</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">的学习笔记，并不是按照</span><span lang="EN-US" style="font-family: Arial">Smalltalk</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">进阶的思路整理的，而是在阅读</span><span lang="EN-US" style="font-family: Arial">AP</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">第七章的过程中随用到随整理的。看</span><span lang="EN-US" style="font-family: Arial">AP</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">是够用了。</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial"><o:p>&nbsp;</o:p></span></p>
<h2><span style="font-family: 黑体; mso-ascii-font-family: Arial">变量和赋值</span></h2>
<p class="MsoNormal"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">字符</span><span lang="EN-US" style="font-family: Arial"> $a $1<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">字符串变量，用单引号表示。注意在</span><span lang="EN-US" style="font-family: Arial">SmallTalk</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">中双引号是注释。所以</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial">&#8216;John&#8217; &#8216;Martin&#8217;</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">这是对的。</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial">A := </span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">&#8220;</span><span lang="EN-US" style="font-family: Arial">John Hunt</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">&#8221;这是错的（去死</span><span lang="EN-US" style="font-family: Arial">? </span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">）</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial"><span style="mso-spacerun: yes">&nbsp;</span>&#8216;a&#8217;</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">和</span><span lang="EN-US" style="font-family: Arial">$a</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">表示的是不同类的实例，前者对应的</span><span lang="EN-US" style="font-family: Arial">Strings</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">；后者对应的</span><span lang="EN-US" style="font-family: Arial">Charater</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">。</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial">Symbols<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">我觉得这就相当于</span><span lang="EN-US" style="font-family: Arial">java</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">中的常量</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial">#join<span style="mso-spacerun: yes">&nbsp; </span>week<span style="mso-spacerun: yes">&nbsp; </span>system42<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">赋值</span><span lang="EN-US" style="font-family: Arial"> := </span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">（这个和</span><span lang="EN-US" style="font-family: Arial">Delphi</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">一样哈）</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial">myName := &#8216;John Hunt<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial">newIndex := oldIndex<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">临时变量<br />
<table style="margin: 1px" cellspacing="2" cellpadding="2" width="500" border="0">
    <tbody>
        <tr>
            <td>&nbsp;
            <p><span style="font-family: Arial">|x y z|</span></p>
            <p><span style="font-family: Arial">x :=5.</span></p>
            <p><span style="font-family: Arial">y :=6.</span></p>
            <p><span style="font-family: Arial">Z :=x+y.</span></p>
            <p><span style="font-family: Arial">Transcript show: z printString.</span></p>
            </td>
        </tr>
    </tbody>
</table>
<br />
</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal"><v:rect id="_x0000_s1032" style="margin-top: 7.8pt; z-index: 3; left: 0px; margin-left: 18pt; width: 261pt; position: absolute; height: 93.6pt; text-align: left"></v:rect></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<br style="mso-ignore: vglayout" clear="all" />
<h2><span lang="EN-US">isKindof</span><span style="font-family: 黑体; mso-ascii-font-family: Arial">：类型判断</span></h2>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial">(anObject isKindOf: String) ifTrue: [...] ifFalse: [...] is an example of Smalltalk's runtime equilivant of "type testing"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial"><o:p>&nbsp;</o:p></span></p>
<h2><span style="font-family: 黑体; mso-ascii-font-family: Arial">集合</span></h2>
<h3><span lang="EN-US">Enumerating Collections</span></h3>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial">do &#8211; does the same operation on every element of the collection.<o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent: 21pt"><span lang="EN-US" style="font-family: Arial">MyCollection do: [:piece | piece reset]<o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent: 21pt"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">对</span><span lang="EN-US" style="font-family: Arial">MyCollection</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">的每个</span><span lang="EN-US" style="font-family: Arial">element</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">发送消息</span><span lang="EN-US" style="font-family: Arial">reset</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">（其实就是执行</span><span lang="EN-US" style="font-family: Arial">reset</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">）</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial">collect &#8211; like do: but returns a collection of the results.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial">select &#8211; test every element and returns those which pass.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial">reject &#8211; test every element and returns those which fail.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial">detect &#8211; returns the first element which passes the test<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial">inject:into<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial"><o:p>&nbsp;</o:p></span></p>
<h3><span lang="EN-US">inject</span></h3>
<p class="MsoNormal"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">在</span><span lang="EN-US" style="font-family: Arial">Smalltalk</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">语言中也支持集合的迭代器，如果你要求</span><span lang="EN-US" style="font-family: Arial">Smalltalk</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">程序员求数组元素的和，他们会像这样来使用</span><span lang="EN-US" style="font-family: Arial">inject</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">函数：</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial">
<table cellspacing="2" cellpadding="2" width="500" border="0">
    <tbody>
        <tr>
            <td>&nbsp;
            <p class="MsoNormal"><span lang="EN-US" style="font-family: Arial">sumOfValues<span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>"Smalltalk method"<o:p></o:p></span></p>
            <p class="MsoNormal"><span lang="EN-US" style="font-family: Arial"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>^self values<o:p></o:p></span></p>
            <p class="MsoNormal"><span lang="EN-US" style="font-family: Arial"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>inject: 0<o:p></o:p></span></p>
            <p class="MsoNormal"><span lang="EN-US" style="font-family: Arial"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>into: [ :sum :element | sum + element value] <o:p></o:p></span></p>
            </td>
        </tr>
    </tbody>
</table>
</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial">inject</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">是这样工作的，当关联的代码块第一次被调用时，</span><span lang="EN-US" style="font-family: Arial">sum</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">被赋给</span><span lang="EN-US" style="font-family: Arial">inject</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">的参数值（在这里是</span><span lang="EN-US" style="font-family: Arial">0</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">），</span><span lang="EN-US" style="font-family: Arial">element</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">取数组第一个元素。第二次和以后调用到代码块时，</span><span lang="EN-US" style="font-family: Arial">sum</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">被赋给上次调用代码块时返回的值，这样</span><span lang="EN-US" style="font-family: Arial">sum</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">就跑完了全程，</span><span lang="EN-US" style="font-family: Arial">inject</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">最终的结果是代码块最后被调用的值。</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial"><v:shape id="_x0000_i1027" style="width: 315pt; height: 72.75pt" type="#_x0000_t75" o:bordertopcolor="navy" o:borderleftcolor="navy" o:borderbottomcolor="navy" o:borderrightcolor="navy"><v:imagedata src="file:///C:\DOCUME~1\scnlil\LOCALS~1\Temp\msohtml1\19\clip_image002.png" o:title=""></v:imagedata><w:bordertop type="single" width="8"></w:bordertop><w:borderleft type="single" width="8"></w:borderleft><w:borderbottom type="single" width="8"></w:borderbottom><w:borderright type="single" width="8"></w:borderright></v:shape><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial"><v:shape id="_x0000_i1028" style="width: 361.5pt; height: 62.25pt" type="#_x0000_t75" o:bordertopcolor="navy" o:borderleftcolor="navy" o:borderbottomcolor="navy" o:borderrightcolor="navy"><v:imagedata src="file:///C:\DOCUME~1\scnlil\LOCALS~1\Temp\msohtml1\19\clip_image004.png" o:title=""></v:imagedata><w:bordertop type="single" width="8"></w:bordertop><w:borderleft type="single" width="8"></w:borderleft><w:borderbottom type="single" width="8"></w:borderbottom><w:borderright type="single" width="8"></w:borderright></v:shape><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial"><o:p>&nbsp;</o:p></span></p>
<h3><span lang="EN-US">Dictionary</span></h3>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial">Dictionary</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">是</span><span lang="EN-US" style="font-family: Arial">Set</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">的子类。</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal"><strong><span lang="EN-US" style="font-family: Arial">at : aKey </span></strong><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">对应</span><span lang="EN-US" style="font-family: Arial">Java</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">的</span><span lang="EN-US" style="font-family: Arial">get(key)<o:p></o:p></span></p>
<p class="MsoNormal"><strong><span lang="EN-US" style="font-family: Arial">at : aKey put : aValue</span></strong><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">对应</span><span lang="EN-US" style="font-family: Arial">Java</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">的</span><span lang="EN-US" style="font-family: Arial">put(key, value)<o:p></o:p></span></p>
<p class="MsoNormal"><v:rect id="_x0000_s1033" style="margin-top: 0px; z-index: 4; left: 0px; margin-left: 0px; width: 225pt; position: absolute; height: 70.2pt; text-align: left"></v:rect><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">应用方式：</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial"><o:p>&nbsp;</o:p></span></p>
<h2><span lang="EN-US">Code Block</span></h2>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial">[ :params | &lt;message-expressions&gt; ]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial">Where :params is the list of parameters the code can take. This means that the Smalltalk code:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial">[:x | x + 1]</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">可以理解为：</span><span lang="EN-US" style="font-family: Arial">f(x) = x + 1<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial">Code Block</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">的调用：</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial">[:x | x + 1] value: 3<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial">can be evaluated as<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial">f(3) = 3 + 1<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">这是相等于</span><span lang="EN-US" style="font-family: Arial">Code Block</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">的定义和调用在一起。</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">令一种方法是先定义</span><span lang="EN-US" style="font-family: Arial">code Block,</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">然后在其它的地方再调用。</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial"><v:group id="_x0000_s1029" style="width: 387pt; height: 93.6pt; mso-position-horizontal-relative: char; mso-position-vertical-relative: line" editas="canvas" coordorigin="2362,8508" coordsize="6731,1630"><o:lock v:ext="edit" aspectratio="t"></o:lock><v:shape id="_x0000_s1030" style="left: 2362px; width: 6731px; position: absolute; top: 8508px; height: 1630px" o:preferrelative="f" type="#_x0000_t75"><v:fill o:detectmouseclick="t"></v:fill><v:path o:extrusionok="t" o:connecttype="none"></v:path><o:lock v:ext="edit" text="t"></o:lock></v:shape><v:rect id="_x0000_s1031" style="left: 2519px; width: 6416px; position: absolute; top: 8644px; height: 1358px"><v:textbox>
<table cellspacing="0" cellpadding="0" width="100%">
    <tbody>
        <tr>
            <td>
            <div>
            <p class="MsoNormal"><span lang="EN-US" style="font-family: Arial">anotherBlock := [ :parml :parm2 | | temp |<o:p></o:p></span></p>
            <p class="MsoNormal"><span lang="EN-US" style="font-family: Arial">temp := pannl incorporate: parm2.<o:p></o:p></span></p>
            <p class="MsoNormal"><span lang="EN-US" style="font-family: Arial">temp rehash.<o:p></o:p></span></p>
            <p class="MsoNormal"><span lang="EN-US" style="font-family: Arial">].<o:p></o:p></span></p>
            </div>
            </td>
        </tr>
    </tbody>
</table>
</v:textbox></v:rect><w:wrap type="none"></w:wrap><w:anchorlock></w:anchorlock></v:group></span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">说明：</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt; mso-list: l0 level1 lfo1; tab-stops: list 21.0pt"><span lang="EN-US" style="font-family: Arial; mso-fareast-font-family: Arial"><span style="mso-list: Ignore">1)<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">定义</span><span lang="EN-US" style="font-family: Arial">Code Block</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">，</span><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-family: Arial">anotherBlock</span></strong><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">。</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt; mso-list: l0 level1 lfo1; tab-stops: list 21.0pt"><span lang="EN-US" style="font-family: Arial; mso-fareast-font-family: Arial"><span style="mso-list: Ignore">2)<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span lang="EN-US" style="font-family: Arial">parml </span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">，</span><span lang="EN-US" style="font-family: Arial">parm2</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">是两个参数</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt; mso-list: l0 level1 lfo1; tab-stops: list 21.0pt"><span lang="EN-US" style="font-family: Arial; mso-fareast-font-family: Arial"><span style="mso-list: Ignore">3)<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span lang="EN-US" style="font-family: Arial">temp</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">是定义的变量</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">调用：</span><span lang="EN-US" style="font-family: Arial">anotherBlock value: objecfcl value: object2<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">尽管狠不适应，但是</span><span lang="EN-US" style="font-family: Arial">Code Block</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">可以使得代码简洁明了：</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN" style="font-family: Arial; mso-ansi-language: EN">positiveAmounts := allAmounts select: [:amt | amt isPositive]<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">这句话就是从</span><span lang="EN-US" style="font-family: Arial">collection </span><span lang="EN" style="font-family: Arial; mso-ansi-language: EN">allAmounts</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-ansi-language: EN">返回所有</span><span lang="EN" style="font-family: Arial; mso-ansi-language: EN">positive</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-ansi-language: EN">的单元的集合。</span><span lang="EN" style="font-family: Arial; mso-ansi-language: EN">amt</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-ansi-language: EN">按我的理解就是对应的每个</span><span lang="EN" style="font-family: Arial; mso-ansi-language: EN">element</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-ansi-language: EN">。</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial"><o:p>&nbsp;</o:p></span></p>
<img src ="http://www.blogjava.net/amenglai/aggbug/266009.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/amenglai/" target="_blank">amenglai</a> 2009-04-16 17:34 <a href="http://www.blogjava.net/amenglai/articles/266009.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Chapter6 Inventory and Accounting</title><link>http://www.blogjava.net/amenglai/articles/265970.html</link><dc:creator>amenglai</dc:creator><author>amenglai</author><pubDate>Thu, 16 Apr 2009 07:02:00 GMT</pubDate><guid>http://www.blogjava.net/amenglai/articles/265970.html</guid><wfw:comment>http://www.blogjava.net/amenglai/comments/265970.html</wfw:comment><comments>http://www.blogjava.net/amenglai/articles/265970.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/amenglai/comments/commentRss/265970.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/amenglai/services/trackbacks/265970.html</trackback:ping><description><![CDATA[&nbsp;
<h2>My comments</h2>
<p><span style="font-family: 宋体">（</span><span style="font-family: Arial">2009-2-3</span><span style="font-family: 宋体">）</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">在读这章时，对于这章开始的</span><span style="font-family: Arial">2</span><span style="font-family: 宋体">页概述一定要反复的读。尤其是当读到后续小节，感觉迷失方向的时候，一定要回来再读这部分，这部分是这章的一个高度的概括。</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">如果不具备会计的知识背景，花半天的时间恶补一下。建议看看《会计学原理（新编）》（徐文彬）。了解几个关键的术语：账户</span><span style="font-family: Arial">,</span><span style="font-family: 宋体">会计科目</span><span style="font-family: Arial">,</span><span style="font-family: 宋体">复式记账。</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">我先云山雾罩的读了一遍，再回头看这章的开始部分，对于</span><span style="font-family: Arial">Martin</span><span style="font-family: 宋体">的阐述思路了解的清晰了，另外在恶补过基本的会计知识后，对</span><span style="font-family: Arial">Transaction</span><span style="font-family: 宋体">和</span><span style="font-family: Arial">Summary Account</span><span style="font-family: 宋体">理解起来老轻松了，真是磨刀不误砍柴功</span><span style="font-family: Wingdings">J</span></p>
<h2>Brief Summary</h2>
<p>Account<span style="font-family: 宋体">：账户</span></p>
<p>Entry<span style="font-family: 宋体">：记账分录</span></p>
<p>Account can only be added or removed by entries. The entries provide a history of all changes of the account.</p>
<h3>Account and Entry</h3>
<h3>Transactions</h3>
<p><span style="font-family: Arial">Transactions add a further degree of auditability by linking entries together. In a transaction, the items withdrawn from one account must be deposited in another. (</span><span style="font-family: 宋体">我理解这句话的意思其实就是会计中所述的复式记账</span><span style="font-family: Arial">Double entry</span><span style="font-family: 宋体">，复式记账一般就是指借贷记账</span><span style="font-family: Arial">)</span></p>
<p><span style="font-family: 宋体">一般的</span><span style="font-family: Arial">Transsction</span><span style="font-family: 宋体">就是财务上所说的&#8220;一借一贷&#8221;，而</span><span style="font-family: Arial">Multiegged Transsction</span><span style="font-family: 宋体">就是财务上所说的&#8220;一借多贷&#8221;或者&#8220;一贷多借&#8221;。</span></p>
<p><span style="font-family: 宋体">导入以下的会计知识：<br />
<img height="153" alt="" src="http://www.blogjava.net/images/blogjava_net/amenglai/1.JPG" width="385" border="0" /></span></p>
<p><span style="font-family: 宋体">&nbsp;</p>
&nbsp;
<p class="MsoNormal"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">这是资产类帐户的余额。如果是负债或所有者权益类帐户，七期初余额、期末余额一般应在贷方。</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">费用类帐户和资产类帐户一样；收入和利润帐户和负债或所有者权益类帐户。</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">&#8220;借&#8221;表示资产增加或负债以及所有者权益的减少；&#8220;贷&#8221;表示资产减少或负债以及所有者权益的增加</span><span lang="EN-US" style="font-family: Arial">.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial">&#8220;</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">有借必有贷，借贷必相等</span><span lang="EN-US" style="font-family: Arial">&#8221;<o:p></o:p></span></p>
<h3><span lang="EN-US">Summary account</span><span style="font-family: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">：汇总账户</span></h3>
<p class="MsoNormal"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">帐户是根据会计科目开设的。会计科目既有总分类科目和明细科目，帐户也就有总分类帐户和明细帐户。</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">&#8216;原材料&#8217;是一个总分类帐户，它只能概括但应所有原材料的增减变化以其结果。在&#8216;原材料&#8217;帐户下面，还要按照每一种原材料分别设置明细分类帐户。</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">&#8216;应收账款&#8217;是一个总括反映应收账款结算情况的总分类帐户，为了详细反映应收账款的结算情况，还必须按每一个客户设置应收账款明细分类帐户。</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<h3><span lang="EN-US">Memo account</span><span style="font-family: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">：备注账户</span></h3>
<p class="MsoNormal"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">备注</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: 'Times New Roman'">账户并不需要保持平衡。</span><span lang="EN-US" style="font-family: Arial; mso-hansi-font-family: 'Times New Roman'"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial; mso-hansi-font-family: 'Times New Roman'">No real money leaks from or to a memo account.<o:p></o:p></span></p>
<h3><span lang="EN-US">Posting rules</span><span style="font-family: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">（簿记规则）</span></h3>
<p class="MsoNormal"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: 'Times New Roman'">对于</span><span lang="EN-US" style="font-family: Arial; mso-hansi-font-family: 'Times New Roman'">Posting rules</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: 'Times New Roman'">，</span><span lang="EN-US" style="font-family: Arial; mso-hansi-font-family: 'Times New Roman'">Martin</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: 'Times New Roman'">要从以下的几个方面来阐述：</span><span lang="EN-US" style="font-family: Arial; mso-hansi-font-family: 'Times New Roman'"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt; mso-list: l0 level1 lfo1; tab-stops: list 21.0pt"><span lang="EN-US" style="font-family: Arial; mso-fareast-font-family: Arial; mso-hansi-font-family: 'Times New Roman'"><span style="mso-list: Ignore">1.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span lang="EN-US" style="font-family: Arial; mso-hansi-font-family: 'Times New Roman'">Posting rules</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: 'Times New Roman'">是什么</span><span lang="EN-US" style="font-family: Arial; mso-hansi-font-family: 'Times New Roman'"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial; mso-hansi-font-family: 'Times New Roman'">Posting rules allow us to build active networks of accounts that update each other and reflect business rules. <o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt; mso-list: l0 level1 lfo1; tab-stops: list 21.0pt"><span lang="EN-US" style="font-family: Arial; mso-fareast-font-family: Arial; mso-hansi-font-family: 'Times New Roman'"><span style="mso-list: Ignore">2.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: 'Times New Roman'">如何实现簿记规则：</span><span lang="EN-US" style="font-family: Arial; mso-hansi-font-family: 'Times New Roman'">Individual instance method <o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: 'Times New Roman'">为什么要引入</span><span lang="EN-US" style="font-family: Arial; mso-hansi-font-family: 'Times New Roman'">Individual instance method</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: 'Times New Roman'">？这是因为簿记规则往往很复杂，不会仅仅是乘以一个系数这么简单。例如计税，不同的金额对应不同的税率。也就是说对于不同的实例（</span><span lang="EN-US" style="font-family: Arial; mso-hansi-font-family: 'Times New Roman'">instance</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: 'Times New Roman'">）会对应不同的</span><span lang="EN-US" style="font-family: Arial; mso-hansi-font-family: 'Times New Roman'">behavior</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: 'Times New Roman'">。</span><span lang="EN-US" style="font-family: Arial; mso-hansi-font-family: 'Times New Roman'"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt; mso-list: l0 level1 lfo1; tab-stops: list 21.0pt"><span lang="EN-US" style="font-family: Arial; mso-fareast-font-family: Arial; mso-hansi-font-family: 'Times New Roman'"><span style="mso-list: Ignore">3.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span lang="EN-US" style="font-family: Arial; mso-hansi-font-family: 'Times New Roman'">Posting rules</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: 'Times New Roman'">如何被执行</span><span lang="EN-US" style="font-family: Arial; mso-hansi-font-family: 'Times New Roman'"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial; mso-hansi-font-family: 'Times New Roman'">Posting rule execution pattern describes ways in which posting rules can be triggered.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt; mso-list: l0 level1 lfo1; tab-stops: list 21.0pt"><span lang="EN-US" style="font-family: Arial; mso-fareast-font-family: Arial; mso-hansi-font-family: 'Times New Roman'"><span style="mso-list: Ignore">4.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span lang="EN-US" style="font-family: Arial; mso-hansi-font-family: 'Times New Roman'">Posting rules</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: 'Times New Roman'">在哪里定义</span><span lang="EN-US" style="font-family: Arial; mso-hansi-font-family: 'Times New Roman'"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial; mso-hansi-font-family: 'Times New Roman'">Posting rules for many accounts<o:p></o:p></span></p>
<h3><span lang="EN-US">Choosing entries</span></h3>
<h3><span lang="EN-US">Accounting practice pattern: </span><span style="font-family: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">这是为了给</span><span lang="EN-US">Posting rules</span><span style="font-family: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">进行分类</span></h3>
<h3><span lang="EN-US">The source of an entry </span></h3>
<h3><span lang="EN-US">Balance sheets and income statements(</span><span style="font-family: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">资产负债表和损益表</span><span lang="EN-US">)</span></h3>
<h3><span lang="EN-US">Corresponding account</span></h3>
<h3><span lang="EN-US">Specialized account model</span></h3>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial"><o:p>&nbsp;</o:p></span></p>
<h2><span lang="EN-US">Transactions</span></h2>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial">Account, entry</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">和</span><span lang="EN-US" style="font-family: Arial">Transactions</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">这三者之间的关系通过</span><span lang="EN-US" style="font-family: Arial">UML</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">体现。这是这章的基础。</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<img height="218" alt="" src="http://www.blogjava.net/images/blogjava_net/amenglai/2.JPG" width="575" border="0" /><br />
&nbsp;
<p class="MsoNormal" style="text-indent: 21pt; mso-char-indent-count: 2.0"><span lang="EN-US" style="font-family: Arial">entry</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">和</span><span lang="EN-US" style="font-family: Arial">Transactions</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">之间的关系就如同是先有鸡还是先有蛋的问题。因为有约束条件，如果没有创建</span><span lang="EN-US" style="font-family: Arial">Transactions</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">就不能创建</span><span lang="EN-US" style="font-family: Arial">entry</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">；同样没有</span><span lang="EN-US" style="font-family: Arial">entry</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">也不能创建</span><span lang="EN-US" style="font-family: Arial">Transactions</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">，这也是因为有约束条件。</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent: 21pt; mso-char-indent-count: 2.0"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">解决方法就是</span><span lang="EN-US" style="font-family: Arial">Transactions</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">负责创建</span><span lang="EN-US" style="font-family: Arial">entry</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">，</span><span lang="EN-US" style="font-family: Arial">entry</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">的创建操作仅能由</span><span lang="EN-US" style="font-family: Arial">Transactions</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">来访问。但是这样或许会违背约束，</span><span lang="EN-US" style="font-family: Arial">No problem</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">，我们可以定义规则就是：所有的</span><span lang="EN-US" style="font-family: Arial">public operations</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">必须以所有约束条件都得到满足为结束条件。</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent: 21pt; mso-char-indent-count: 2.0"><span lang="EN-US" style="font-family: Arial">Transactions</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">这个概念在实际的业务系统中是不存在的，它其实是人造的（</span><span lang="EN-US" style="font-family: Arial">artifical</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">），是为了便于数据管理，毕竟我们现在用的还是关系型数据库以及面向对象的设计方法哈。</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial"><o:p>&nbsp;</o:p></span></p>
<h2><span lang="EN-US">Summary Account</span></h2>
<br />
&nbsp; <img height="304" alt="" src="http://www.blogjava.net/images/blogjava_net/amenglai/3.JPG" width="650" border="0" />
<p class="MsoNormal" style="text-indent: 21pt; mso-char-indent-count: 2.0"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">注意这里</span><span lang="EN-US" style="font-family: Arial">Summary Account</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">的记账方式是和业务系统不同的。在实际的财务管理中，我们会在汇总账户和明细账户中分别编制会计分录（</span><span lang="EN-US" style="font-family: Arial">Entry</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">），而在业务系统中并不是这样的</span><span lang="EN-US" style="font-family: Arial">,</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">按照</span><span lang="EN-US" style="font-family: Arial">Martin</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">的叙述：</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt; mso-list: l0 level1 lfo1; tab-stops: list 21.0pt"><span lang="EN-US" style="font-family: Arial; mso-fareast-font-family: Arial"><span style="mso-list: Ignore">1.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span lang="EN-US" style="font-family: Arial">The entries of a summary account are derived from the component&#8217;s entries in a recursive manner.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt; mso-list: l0 level1 lfo1; tab-stops: list 21.0pt"><span lang="EN-US" style="font-family: Arial; mso-fareast-font-family: Arial"><span style="mso-list: Ignore">2.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span lang="EN-US" style="font-family: Arial">post entries only to detail accounts not to summary accounts.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial"><o:p>&nbsp;</o:p></span></p>
<h2><span lang="EN-US">Posting Rule</span></h2>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt; mso-list: l1 level1 lfo2; tab-stops: list 21.0pt"><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-family: Arial; mso-fareast-font-family: Arial; mso-hansi-font-family: 'Times New Roman'"><span style="mso-list: Ignore">1.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span></strong><strong style="mso-bidi-font-weight: normal"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: 'Times New Roman'">什么是</span></strong><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-family: Arial; mso-hansi-font-family: 'Times New Roman'">Posting Rules</span></strong><strong style="mso-bidi-font-weight: normal"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: 'Times New Roman'">？</span></strong><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-family: Arial; mso-hansi-font-family: 'Times New Roman'">(</span></strong><strong style="mso-bidi-font-weight: normal"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: 'Times New Roman'">簿记规则</span></strong><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-family: Arial; mso-hansi-font-family: 'Times New Roman'">)<o:p></o:p></span></strong></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial; mso-hansi-font-family: 'Times New Roman'">Posting rule looks at a particular account and, when it sees an entry, creates another entry. <o:p></o:p></span></p>
<img height="153" alt="" src="http://www.blogjava.net/images/blogjava_net/amenglai/4.JPG" width="385" border="0" /><br />
&nbsp;
<p class="MsoNormal" style="text-indent: 21pt; mso-char-indent-count: 2.0"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">简单的</span><span lang="EN-US" style="font-family: Arial">Posting Rule</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">就是乘以一个因子，如图</span><span lang="EN-US" style="font-family: Arial">Figure6.8.</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">但是复杂的，例如计税就要采用</span><span lang="EN-US" style="font-family: Arial">Figure6.9</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">的模式。</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<img height="95" alt="" src="http://www.blogjava.net/images/blogjava_net/amenglai/5.JPG" width="288" border="0" /><br />
&nbsp;
<p class="MsoNormal" style="text-indent: 21pt; mso-char-indent-count: 2.0"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">注意这也就是为什么要引入</span><span lang="EN-US" style="font-family: Arial; mso-hansi-font-family: 'Times New Roman'">Individual instance method</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: 'Times New Roman'">的原因。（这个我也是看了</span><span lang="EN-US" style="font-family: Arial; mso-hansi-font-family: 'Times New Roman'">2</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: 'Times New Roman'">遍才明白的啊）</span><span lang="EN-US" style="font-family: Arial; mso-hansi-font-family: 'Times New Roman'"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent: 21pt; mso-char-indent-count: 2.0"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: 'Times New Roman'">这句话很重要：</span><span lang="EN-US" style="font-family: Arial; mso-hansi-font-family: 'Times New Roman'">We want the behavior to vary with each individual instance.<o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent: 21pt; mso-char-indent-count: 2.0"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: 'Times New Roman'">所以不能通过类继承实现。</span><span lang="EN-US" style="font-family: Arial; mso-hansi-font-family: 'Times New Roman'">Individual instance method</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: 'Times New Roman'">就是讨论如何实现&#8220;</span><span lang="EN-US" style="font-family: Arial; mso-hansi-font-family: 'Times New Roman'">the behavior to vary with each individual instance</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: 'Times New Roman'">&#8221;。</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt; mso-list: l3 level1 lfo4; tab-stops: list 21.0pt"><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-family: Arial; mso-fareast-font-family: Arial"><span style="mso-list: Ignore">1.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span></strong><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-family: Arial; mso-hansi-font-family: 'Times New Roman'">Individual instance method-</span></strong><strong style="mso-bidi-font-weight: normal"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: 'Times New Roman'">如何实现簿记规则：</span></strong><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></strong></p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt; mso-list: l2 level2 lfo1; tab-stops: list 21.0pt"><span lang="EN-US" style="font-family: Arial; mso-fareast-font-family: Arial"><span style="mso-list: Ignore">1)<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span lang="EN-US" style="font-family: Arial">Singleton Class</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">单一实例</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt; mso-list: l2 level2 lfo1; tab-stops: list 21.0pt"><span lang="EN-US" style="font-family: Arial; mso-fareast-font-family: Arial"><span style="mso-list: Ignore">2)<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span lang="EN-US" style="font-family: Arial">Strategy Pattern<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt; mso-list: l2 level2 lfo1; tab-stops: list 21.0pt"><span lang="EN-US" style="font-family: Arial; mso-fareast-font-family: Arial"><span style="mso-list: Ignore">3)<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">使用内部的</span><span lang="EN-US" style="font-family: Arial">case</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">语句</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 17.95pt; mso-para-margin-left: 1.71gd"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">在</span><span lang="EN-US" style="font-family: Arial">Posting Rule</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">上我们要定义一系列的操作。</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 17.95pt; mso-para-margin-left: 1.71gd"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">在</span><span lang="EN-US" style="font-family: Arial">Posting Rule</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">上定义</span><span lang="EN-US" style="font-family: Arial">computeFor</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">。</span><span lang="EN-US" style="font-family: Arial">ComputeFor</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">包含</span><span lang="EN-US" style="font-family: Arial">case</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">语句去调用上面的一系列的操作。</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt; mso-list: l2 level2 lfo1; tab-stops: list 21.0pt"><span lang="EN-US" style="font-family: Arial; mso-fareast-font-family: Arial"><span style="mso-list: Ignore">4)<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">使用带参数的方法（</span><span lang="EN-US" style="font-family: Arial">Parameterized Method</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">）</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt; mso-list: l2 level2 lfo1; tab-stops: list 21.0pt"><span lang="EN-US" style="font-family: Arial; mso-fareast-font-family: Arial"><span style="mso-list: Ignore">5)<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">解释器</span><span lang="EN-US" style="font-family: Arial">Interpreter<o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent: 21pt; mso-char-indent-count: 2.0"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">最后</span><span lang="EN-US" style="font-family: Arial">Martin</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">给出了选择实现方法的原则。他的首选是：</span><span lang="EN-US" style="font-family: Arial">Parameterized Method</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">。</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent: 21pt; mso-char-indent-count: 2.0"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">不过我认为如果是做产品，解释器</span><span lang="EN-US" style="font-family: Arial">Interpreter</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">是不二的选择。因为实际的业务系统的复杂程度绝不是任何人在产品开发过程中可以想象到的，最大的灵活性是追求的唯一目标。用开发的复杂性换取实施的灵活性。</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt; mso-list: l3 level1 lfo4; tab-stops: list 21.0pt"><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-family: Arial; mso-fareast-font-family: Arial"><span style="mso-list: Ignore">2.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span></strong><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-family: Arial">Posting Rules</span></strong><strong style="mso-bidi-font-weight: normal"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">在哪里执行</span></strong><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></strong></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">原则：</span><span lang="EN-US" style="font-family: Arial">Separate the strategy of firing the posting rules from the rules themselves as much as possible to reduce the coupling between these mechanisms.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt; mso-list: l1 level1 lfo3; tab-stops: list 21.0pt"><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-family: Arial; mso-fareast-font-family: Arial"><span style="mso-list: Ignore">A.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span></strong><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-family: Arial">Eager Firing<o:p></o:p></span></strong></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">当触发账户中产生一个</span><span lang="EN-US" style="font-family: Arial">entry</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">，</span><span lang="EN-US" style="font-family: Arial">posting rules</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">就会被触发执行。</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">有</span><span lang="EN-US" style="font-family: Arial">2</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">种方式：</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 17.95pt; mso-para-margin-left: 1.71gd"><span lang="EN-US" style="font-family: Arial">A</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">．在创建</span><span lang="EN-US" style="font-family: Arial">Transaction</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">或</span><span lang="EN-US" style="font-family: Arial">entry</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">的方法中</span><span lang="EN-US" style="font-family: Arial">posting rules</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">被触发。</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 17.95pt; mso-para-margin-left: 1.71gd"><span lang="EN-US" style="font-family: Arial">B</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">．使用</span><span lang="EN-US" style="font-family: Arial">Observer</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">模式。</span><span lang="EN-US" style="font-family: Arial">Make Posting rules observer of their trigger account.</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">这种方式比较复杂，尽量避免使用。</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt; mso-list: l1 level1 lfo3; tab-stops: list 21.0pt"><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-family: Arial; mso-fareast-font-family: Arial"><span style="mso-list: Ignore">B.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span></strong><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-family: Arial">Account-based Firing</span></strong><strong style="mso-bidi-font-weight: normal"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">基于账户的触发</span></strong><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></strong></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">这是一种延时处理。对应每个账户维护一个未处理交易条目列表，尤其适用于</span><span lang="EN-US" style="font-family: Arial">cyclic accounting system</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">（循环记账系统）。每天</span><span lang="EN-US" style="font-family: Arial">account</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">处理一次。</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">一定要注意账户的处理顺序。</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt; mso-list: l1 level1 lfo3; tab-stops: list 21.0pt"><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-family: Arial; mso-fareast-font-family: Arial"><span style="mso-list: Ignore">C.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span></strong><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-family: Arial">Posting-rule-based Firing<o:p></o:p></span></strong></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">和</span><span lang="EN-US" style="font-family: Arial">Account-based Firing</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">相似，只是</span><span lang="EN-US" style="font-family: Arial">Posting rule</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">负责管理未处理交易条目列表。这种触发方式比较复杂，尽量避免使用哈。</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt; mso-list: l1 level1 lfo3; tab-stops: list 21.0pt"><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-family: Arial; mso-fareast-font-family: Arial"><span style="mso-list: Ignore">D.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span></strong><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-family: Arial">Backward-chained Firing<o:p></o:p></span></strong></p>
<p class="MsoNormal" style="margin-left: 17.95pt; mso-para-margin-left: 1.71gd"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">以当前操作帐户（</span><span lang="EN-US" style="font-family: Arial">processing account</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">）为输出</span><span lang="EN-US" style="font-family: Arial">-&gt;</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">找到</span><span lang="EN-US" style="font-family: Arial">posting rule-&gt;</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">再推导出对应的</span><span lang="EN-US" style="font-family: Arial">account</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">（这就是要找出哪个帐户触发的当前操作帐户）</span><span lang="EN-US" style="font-family: Arial">-&gt;</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">对这些帐户进行更新</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt; mso-list: l1 level1 lfo3; tab-stops: list 21.0pt"><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-family: Arial; mso-fareast-font-family: Arial"><span style="mso-list: Ignore">E.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span></strong><strong style="mso-bidi-font-weight: normal"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">如何选择</span></strong><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-family: Arial">posting rule</span></strong><strong style="mso-bidi-font-weight: normal"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">的执行方式：</span></strong><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></strong></p>
<p class="MsoNormal" style="margin-left: 8.9pt; mso-para-margin-left: .85gd"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">要基于一下</span><span lang="EN-US" style="font-family: Arial">2</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">点来考虑：</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 42pt; text-indent: -21pt; mso-list: l1 level2 lfo3; tab-stops: list 42.0pt"><span lang="EN-US" style="font-family: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings"><span style="mso-list: Ignore">&#252;<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span lang="EN-US" style="font-family: Arial">Posting rule</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">执行的时间</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 42pt; text-indent: -21pt; mso-list: l1 level2 lfo3; tab-stops: list 42.0pt"><span lang="EN-US" style="font-family: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings"><span style="mso-list: Ignore">&#252;<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">希望在何处捕获错误</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 9pt"><span lang="EN-US" style="font-family: Arial">Martin</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">对这几种方法的评价是：</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 18pt"><span lang="EN-US" style="font-family: Arial">Eager Firing</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">没有灵活性</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 18pt"><span lang="EN-US" style="font-family: Arial">Account-based Firing</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">和</span><span lang="EN-US" style="font-family: Arial">Posting-rule-based Firing</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">都具有很好的灵活性，帐户结构简单使用前者，若复杂，则使用后者。</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt; mso-list: l4 level1 lfo2; tab-stops: list 21.0pt"><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-family: Arial; mso-fareast-font-family: Arial"><span style="mso-list: Ignore">4.<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span></strong><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-family: Arial">Posting Rules</span></strong><strong style="mso-bidi-font-weight: normal"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">在哪里定义</span></strong><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></strong></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">两种方法：</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 18pt; text-indent: -18pt; mso-list: l5 level1 lfo5; tab-stops: list 18.0pt"><span lang="EN-US" style="font-family: Arial; mso-fareast-font-family: Arial"><span style="mso-list: Ignore">1）<span style="font: 7pt 'Times New Roman'"> </span></span></span><span lang="EN-US" style="font-family: Arial">knowledge and operational level</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">，</span><span lang="EN-US" style="font-family: Arial">posting rules</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">定义在</span><span lang="EN-US" style="font-family: Arial">account type</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">上。</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 18pt; text-indent: -18pt; mso-list: l5 level1 lfo5; tab-stops: list 18.0pt"><span lang="EN-US" style="font-family: Arial; mso-fareast-font-family: Arial"><span style="mso-list: Ignore">2）<span style="font: 7pt 'Times New Roman'"> </span></span></span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">使用</span><span lang="EN-US" style="font-family: Arial">summary account</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">，把</span><span lang="EN-US" style="font-family: Arial">posting rules</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">定义在</span><span lang="EN-US" style="font-family: Arial">summary account</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">，所有子帐户也都遵循同样的</span><span lang="EN-US" style="font-family: Arial">posting rules<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">对于这两种不同方法的选择的最主要的因素就是：</span><span lang="EN-US" style="font-family: Arial">the degree of difference in the behavior of the candidate accounts and account types.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial">Choosing the entry<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">有三种方法：</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 18pt; text-indent: -18pt; mso-list: l0 level1 lfo6; tab-stops: list 18.0pt"><span lang="EN-US" style="font-family: Arial; mso-fareast-font-family: Arial"><span style="mso-list: Ignore">1）<span style="font: 7pt 'Times New Roman'"> </span></span></span><span lang="EN-US" style="font-family: Arial">Getting all entries back and then doing a selection<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 18pt; text-indent: -18pt; mso-list: l0 level1 lfo6; tab-stops: list 18.0pt"><span lang="EN-US" style="font-family: Arial; mso-fareast-font-family: Arial"><span style="mso-list: Ignore">2）<span style="font: 7pt 'Times New Roman'"> </span></span></span><span lang="EN-US" style="font-family: Arial">Providing a selection-specific method<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 18pt; text-indent: -18pt; mso-list: l0 level1 lfo6; tab-stops: list 18.0pt"><span lang="EN-US" style="font-family: Arial; mso-fareast-font-family: Arial"><span style="mso-list: Ignore">3）<span style="font: 7pt 'Times New Roman'"> </span></span></span><span lang="EN-US" style="font-family: Arial">Using a filter</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">。</span><span lang="EN-US" style="font-family: Arial">Filter</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">就是一个封装了查询</span><span lang="EN-US" style="font-family: Arial">query</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">的对象。</span><span lang="EN-US" style="font-family: Arial">Pattern</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">见</span><span lang="EN-US" style="font-family: Arial">Figure6.24</span><span style="font-family: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">的时序图。</span><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: Arial"><o:p>&nbsp;</o:p></span></p>
&nbsp;
<p class="MsoNormal" style="text-indent: 21pt; mso-char-indent-count: 2.0"><span lang="EN-US" style="font-family: Arial"><o:p></o:p></span>&nbsp;</p>
<br />
</span>
 <img src ="http://www.blogjava.net/amenglai/aggbug/265970.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/amenglai/" target="_blank">amenglai</a> 2009-04-16 15:02 <a href="http://www.blogjava.net/amenglai/articles/265970.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>