易流水賬中,應(yīng)該記錄下交易時(shí)候是采用的那個(gè)價(jià)格類型,原始價(jià)格多少,實(shí)際購買價(jià)格多少。記錄下原始價(jià)格,是因?yàn)椋唐返脑純r(jià)格本身可能是變化的。
再以拆遷資源計(jì)劃系統(tǒng)(http://www.netsky-tech.com/))為例,房屋補(bǔ)償?shù)膬r(jià)格價(jià)格可能是來自于管理參數(shù),也可能是來自于申請(qǐng),實(shí)際到底是來自于哪個(gè),算法應(yīng)該記錄下來。
9.業(yè)務(wù)規(guī)則使用的版本化
前面已經(jīng)提到了數(shù)據(jù)錄入的版本化,還有算法的版本化,也就是計(jì)算結(jié)果的版本化。但是還沒有談到一點(diǎn),到底啥時(shí)間該采用哪個(gè)版本算法。
在J2EE項(xiàng)目中,一般是采用配置文件的方式來控制版本。從配置管理角度的來說,一切都根據(jù)配置文件來決定使用哪個(gè)版本的數(shù)據(jù)錄入的分級(jí)(數(shù)據(jù)信任程度分級(jí)),然后根據(jù)配置文件決定數(shù)據(jù)處理使用的算法版本。其實(shí)在J2EE項(xiàng)目中,可以采用類似apache commons-validator這樣的包,來進(jìn)行數(shù)據(jù)錄入的信任等級(jí)建立。
前面都已經(jīng)提到了從工廠方法模式的角度來建立數(shù)據(jù)信任等級(jí)制度,但是并沒有解決到底啥時(shí)間采用哪個(gè)方法處理數(shù)據(jù)。也許有人建議,采用工廠方法模式的思想, 把數(shù)據(jù)當(dāng)成產(chǎn)品,把算法當(dāng)成工廠,來處理(注意:不是制造)數(shù)據(jù)。這個(gè)想法也許能夠滿足一些系統(tǒng)的需要,但是更多時(shí)候是失效。
為此,我覺得有必要把算法的分配使用當(dāng)成為一個(gè)業(yè)務(wù)管理策略來管理,在J2EE項(xiàng)目中,常用的方式使用XML的格式保存為配置文件,但是如果這個(gè)策略比較復(fù)雜的時(shí)候建議還是保存到數(shù)據(jù)表;通過單獨(dú)的業(yè)務(wù)模塊去設(shè)置業(yè)務(wù)的算法管理策略,可以把這些策略保存為配置文件或者直接 保存到數(shù)據(jù)表。