日本一区二区免费播放_麻豆导航_久久精品99_国产性av_色婷婷噜噜久久国产精品12p_av福利资源_精品综合久久

當(dāng)前位置:首頁 > 網(wǎng)站舊欄目 > 學(xué)習(xí)園地 > 設(shè)計(jì)軟件教程 > Domain Model:業(yè)務(wù)對象的進(jìn)一步設(shè)計(jì)

Domain Model:業(yè)務(wù)對象的進(jìn)一步設(shè)計(jì)
2010-01-14 22:35:54  作者:  來源:
本文放在javaeye可能未必合適。文章中中英文混用也是問題。
而且本文討論的模型比較適合交易類系統(tǒng),對于ERP類未必合適。

Author :  Anders小明
原文: http://www.blogjava.net/AndersLin/archive/2006/10/09/74187.html

   在Domain Object的動靜之分中,其實(shí)我已經(jīng)把業(yè)務(wù)對象分為三大類,不過在那一部分中沒有明確的提出。這三大類是Party,Product和Contract。
    Party
    包括Party對象和Role對象。
    Party代表業(yè)務(wù)發(fā)生對象的實(shí)體,而Role對象不僅僅是承擔(dān)的相應(yīng)的責(zé)任,同時(shí)也是Party在具體業(yè)務(wù)中一個(gè)側(cè)面,因此除了責(zé)任還有保持一些實(shí)體業(yè)務(wù)關(guān)系的子集。例如:Party擁有多個(gè)Address和多個(gè)account,其中一個(gè)role只使用其中一個(gè)address和一個(gè)account。
    Role的分類有兩種。從性質(zhì)來分,可以分為Individual和Organization;從業(yè)務(wù)來分Customer、Provider以及位于中間的Agency(以及Employee等)。 當(dāng)然還要根據(jù)業(yè)務(wù)在進(jìn)一步做細(xì)粒度的建模。
    不是所有的系統(tǒng)都需要Role的。在一些系統(tǒng)中對party和role的概念區(qū)分并不強(qiáng)烈,例如在一些普通的BBS或者CMS系統(tǒng)中,party和role一一對應(yīng),通常只設(shè)計(jì)role而忽略party,或者說直接把role對象party化。但在另一些系統(tǒng)中則不一樣,例如:在保險(xiǎn)系統(tǒng)中,一個(gè)Party同時(shí)擁有多種Role是很普遍的;在eBay或者TaoBao等C2C系統(tǒng)中,一個(gè)Party既可以是Buyer也可以是Seller。
    Role和Role之間的relationship是一個(gè)很大的邏輯。例如:Employee是有上下級關(guān)系的;Agent是有introducer的。Relationship的實(shí)例化有兩種手段:一種是在role對象中建立,另一種利用獨(dú)立的一個(gè)relationship對象。
    和Party關(guān)聯(lián)的是另一大類對象Holding,不過Holding對象體系比較特殊,在金融行業(yè)中Holding是一個(gè)關(guān)鍵的對象體系,而在其它行業(yè)中,Holding則不那么重要,只是簡單的一個(gè)account記帳功能。
 
    Product
    Product對象比較麻煩,在金融行業(yè)看起來像另外一種contract。不過在B2C或C2C的電子商務(wù)中,Product則是代表現(xiàn)實(shí)世界中的商品。
    Product分為兩類:main和rider。Main product可以被單獨(dú)出售,而rider不能。這個(gè)實(shí)際上是一個(gè)固化的Package規(guī)則。
    還有一類Product比較特別,或者稱為Package Product,是幾種product打包一起,它擁有與product相同的屬性和行為。
    Product對象域包括兩部分邏輯:Product的Package規(guī)則,以及Product的計(jì)價(jià)邏輯。
    Product的Package規(guī)則。比如:rider product只能作為附屬品被售出;一些Rider Product只能和特定的main product綁定銷售;一些product不能同另一product同時(shí)銷售;一些product一次最多買5份。
    Product的計(jì)價(jià)邏輯包括兩個(gè)層次:Internal和External。Internal表現(xiàn)為根據(jù)自身?xiàng)l件判斷,如時(shí)間,折扣等級等;External則和contract中其它product相關(guān),如:其它product總價(jià)超過一定價(jià)格就獲得額外折扣;或者同一個(gè)product份數(shù)超過3份就擁有一定的折扣。
    通常External建立在Internal之上,其關(guān)系有兩種,override和additional。Additional關(guān)系比較常見,通常是額外的折扣。
    計(jì)價(jià)邏輯的實(shí)現(xiàn)手段有兩種:一種是Rate Table,另一種是Formula Engine。對于Internal層次的來說,Rate Table比較常見。
    Product對象的這兩個(gè)邏輯都或多或少的與Contract相關(guān)聯(lián)。如同《分析模式》中描述的Quote那樣,這兩個(gè)邏輯將是獨(dú)立的Specification。
 
    Contract
    Contract是核心業(yè)務(wù)系統(tǒng)的關(guān)鍵。通常一個(gè)業(yè)務(wù)上的contract包括一系列的子contract。同時(shí)Contract又有多種類型。同product一樣,contract可以分為main contract和rider contract。典型的如Payment Agreement, Deliver Agreement都是rider contract。
    同Product一樣,Contract域包含兩個(gè)邏輯,contract的package規(guī)則和計(jì)價(jià)邏輯。
    不同類型的Contact包括不同的子contract。例如:保險(xiǎn)系統(tǒng)中ILP和UP就包含了不同的子contract。
    Contract也擁有計(jì)價(jià)邏輯,而且通常和sale channel相關(guān),如:通過網(wǎng)絡(luò)定購給予一定優(yōu)惠。其與Product的計(jì)價(jià)邏輯通常是additional的關(guān)系,override非常罕見。
    同Product一樣,計(jì)價(jià)邏輯的實(shí)現(xiàn)手段也是Rate Table和Formula Engine。但對于Contract這一層次的來說,F(xiàn)ormula Engine比較常見。
    一個(gè)contract不可避免的包含一個(gè)或多個(gè)Product,不過這里的Product和上面的Product不同,稱為contract product加以區(qū)別,表現(xiàn)為:雖然product在定義層面已經(jīng)規(guī)定了大量的責(zé)任關(guān)系(操作范圍),當(dāng)這些product被包含到contract中,通常會被參數(shù)化(子類型化),當(dāng)然也有沒有被參數(shù)化的情況,可以看作一個(gè)特例。
 
    由于Contract是核心業(yè)務(wù)系統(tǒng)的關(guān)鍵,Main Contract關(guān)聯(lián)一個(gè)Life Cycle對象。如前所述,Life Cycle對象將是系統(tǒng)核心業(yè)務(wù)流程的驅(qū)動核心。另一個(gè)與Contract關(guān)聯(lián)的是Request對象。
    出于后期進(jìn)行業(yè)務(wù)回查,以及數(shù)據(jù)挖掘的需要,除了Contract Product,還需要記錄所有相關(guān)Party在業(yè)務(wù)發(fā)生時(shí)的狀態(tài),即所謂的歷史數(shù)據(jù)。 注意,這些數(shù)據(jù)并不是冗余數(shù)據(jù)。
        
    BTW:考慮金融市場下的,金融產(chǎn)品是虛擬的,它本身就是一個(gè)合同,包含了一系列的操作范圍--責(zé)任。注意在這個(gè)情況下:一個(gè)product包含了一系列的操作范圍--責(zé)任,從外部看,也呈現(xiàn)了一個(gè)完整的概念。而這與role的結(jié)構(gòu)是很像的。雖然contract和product很自然的看成是include的關(guān)系,然而由于product本身是個(gè)完整的概念,使得我們可以反過來看,product修飾了contract。一個(gè)保單包含了不同的party,而保單中的保險(xiǎn)產(chǎn)品修飾了保單--描述了不同party的責(zé)任關(guān)系。
安徽新華電腦學(xué)校專業(yè)職業(yè)規(guī)劃師為你提供更多幫助【在線咨詢
主站蜘蛛池模板: 日本在线影院 | 午夜精品久久久久久99热7777 | 免费网站啪啪大全 | 国产麻豆剧果冻传媒观看免费视频 | 97人人模人人爽人人喊6 | 漂亮的保姆韩剧在线看 | 毛片毛片毛片毛片出来毛片 | 精品无人区乱码一区二区三区手机 | xxx日本视频 | 日韩一区二区超清视频 | 久草成人在线 | 日韩a在线观看 | 在线xxxx | 欧美日本高清视频在线观看 | 欧美一区二区三区四区视频 | 国产丝袜| 97自拍视频 | 黄色片视频在线播放 | 夜夜夜久久久 | 99热资源| 日日摸夜夜添免费毛片小说 | 精品欧美高清一区二区免费 | 欧美亚洲国产视频 | 日本xxx网站 | 高清波多野结衣一区二区三区 | 久久精品免费一区二区视 | 亚洲成人三级 | 欧美欧美乱码一二三区 | 日本xxxx高清| 欧美精品国产日韩综合在线 | 国产欧美日韩图片一区二区 | 精品日本久久久久久久久久 | 老子影院午夜伦手机不卡无 | 日本视频不卡 | 欧美性极品黑人hd | 激情视频网站 | 欧美jizz8性欧美18 | 高中生精品视频在线观看 | 欧美日韩视频在线播放 | 久久久久亚洲精品影视 | 国产一卡二卡3卡4卡更新 |