安徽新华电脑专修学院_安徽电脑培训_安徽电脑培训学校_合肥电脑培训

當前位置:首頁 > 網站舊欄目 > 學習園地 > 設計軟件教程 > Domain Model:業務對象的進一步設計

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

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

   在Domain Object的動靜之分中,其實我已經把業務對象分為三大類,不過在那一部分中沒有明確的提出。這三大類是Party,Product和Contract。
    Party
    包括Party對象和Role對象。
    Party代表業務發生對象的實體,而Role對象不僅僅是承擔的相應的責任,同時也是Party在具體業務中一個側面,因此除了責任還有保持一些實體業務關系的子集。例如:Party擁有多個Address和多個account,其中一個role只使用其中一個address和一個account。
    Role的分類有兩種。從性質來分,可以分為Individual和Organization;從業務來分Customer、Provider以及位于中間的Agency(以及Employee等)。 當然還要根據業務在進一步做細粒度的建模。
    不是所有的系統都需要Role的。在一些系統中對party和role的概念區分并不強烈,例如在一些普通的BBS或者CMS系統中,party和role一一對應,通常只設計role而忽略party,或者說直接把role對象party化。但在另一些系統中則不一樣,例如:在保險系統中,一個Party同時擁有多種Role是很普遍的;在eBay或者TaoBao等C2C系統中,一個Party既可以是Buyer也可以是Seller。
    Role和Role之間的relationship是一個很大的邏輯。例如:Employee是有上下級關系的;Agent是有introducer的。Relationship的實例化有兩種手段:一種是在role對象中建立,另一種利用獨立的一個relationship對象。
    和Party關聯的是另一大類對象Holding,不過Holding對象體系比較特殊,在金融行業中Holding是一個關鍵的對象體系,而在其它行業中,Holding則不那么重要,只是簡單的一個account記帳功能。
 
    Product
    Product對象比較麻煩,在金融行業看起來像另外一種contract。不過在B2C或C2C的電子商務中,Product則是代表現實世界中的商品。
    Product分為兩類:main和rider。Main product可以被單獨出售,而rider不能。這個實際上是一個固化的Package規則。
    還有一類Product比較特別,或者稱為Package Product,是幾種product打包一起,它擁有與product相同的屬性和行為。
    Product對象域包括兩部分邏輯:Product的Package規則,以及Product的計價邏輯。
    Product的Package規則。比如:rider product只能作為附屬品被售出;一些Rider Product只能和特定的main product綁定銷售;一些product不能同另一product同時銷售;一些product一次最多買5份。
    Product的計價邏輯包括兩個層次:Internal和External。Internal表現為根據自身條件判斷,如時間,折扣等級等;External則和contract中其它product相關,如:其它product總價超過一定價格就獲得額外折扣;或者同一個product份數超過3份就擁有一定的折扣。
    通常External建立在Internal之上,其關系有兩種,override和additional。Additional關系比較常見,通常是額外的折扣。
    計價邏輯的實現手段有兩種:一種是Rate Table,另一種是Formula Engine。對于Internal層次的來說,Rate Table比較常見。
    Product對象的這兩個邏輯都或多或少的與Contract相關聯。如同《分析模式》中描述的Quote那樣,這兩個邏輯將是獨立的Specification。
 
    Contract
    Contract是核心業務系統的關鍵。通常一個業務上的contract包括一系列的子contract。同時Contract又有多種類型。同product一樣,contract可以分為main contract和rider contract。典型的如Payment Agreement, Deliver Agreement都是rider contract。
    同Product一樣,Contract域包含兩個邏輯,contract的package規則和計價邏輯。
    不同類型的Contact包括不同的子contract。例如:保險系統中ILP和UP就包含了不同的子contract。
    Contract也擁有計價邏輯,而且通常和sale channel相關,如:通過網絡定購給予一定優惠。其與Product的計價邏輯通常是additional的關系,override非常罕見。
    同Product一樣,計價邏輯的實現手段也是Rate Table和Formula Engine。但對于Contract這一層次的來說,Formula Engine比較常見。
    一個contract不可避免的包含一個或多個Product,不過這里的Product和上面的Product不同,稱為contract product加以區別,表現為:雖然product在定義層面已經規定了大量的責任關系(操作范圍),當這些product被包含到contract中,通常會被參數化(子類型化),當然也有沒有被參數化的情況,可以看作一個特例。
 
    由于Contract是核心業務系統的關鍵,Main Contract關聯一個Life Cycle對象。如前所述,Life Cycle對象將是系統核心業務流程的驅動核心。另一個與Contract關聯的是Request對象。
    出于后期進行業務回查,以及數據挖掘的需要,除了Contract Product,還需要記錄所有相關Party在業務發生時的狀態,即所謂的歷史數據。 注意,這些數據并不是冗余數據。
        
    BTW:考慮金融市場下的,金融產品是虛擬的,它本身就是一個合同,包含了一系列的操作范圍--責任。注意在這個情況下:一個product包含了一系列的操作范圍--責任,從外部看,也呈現了一個完整的概念。而這與role的結構是很像的。雖然contract和product很自然的看成是include的關系,然而由于product本身是個完整的概念,使得我們可以反過來看,product修飾了contract。一個保單包含了不同的party,而保單中的保險產品修飾了保單--描述了不同party的責任關系。
安徽新華電腦學校專業職業規劃師為你提供更多幫助【在線咨詢
主站蜘蛛池模板: 南京空压机出租,发电机租赁,南京牧德田空压机租赁回收公司 | 门禁控制器-自动道闸-停车场系统-车位引导系统-车牌识别系统-楼宇对讲-可视门铃-门禁一卡通-河北京鹏电子科技有限公司 | 無谷轻食官网_沙拉轻食加盟_轻食加盟总部_轻食加盟费用 | 无塔供水_无塔供水设备_全自动_石家庄工泉水处理设备有限公司_家用无塔供水器 | 氧化膜测厚仪-瓶壁测厚仪-QNIX菲尼克斯膜厚仪-深圳市时代之峰科技有限公司 | 太原重卡叔叔运输有限公司-山西太原大件运输、太原物流公司、太原货运物流、太原大件运输、太原货运信息、长治物流公司、长治大件运输、晋城物流公司、晋城大件运输、忻州大件运输、朔州大件运输、阳泉大件运输、大同大件运输、吕梁大件运输、临汾大件运输、运城大件运城 | 三菱plc_触摸屏_变频器_欧姆龙plc_普洛菲斯_安川伺服电机-广州凌控 | 全自动冷冻研磨仪-高通量组织研磨仪厂家-「杭州宋慈智能科技」 | 西安防静电地板_防静电地板厂家_防静电地板价格_OA网络地板_写字楼架空地板_机房墙板安装-红梅防静电地板厂家直销 | 塑料托盘 塑料周转箱零件盒生产销售-江苏卡尔富塑业科技有限公司 | 全自动高速点胶机,锡膏喷印机系列,点胶阀核心配件厂家-博宁 | 上海上市答谢酒会_企业年会_新品上市发布会_周年/开业庆典_会议会务_活动策划布置演出公司 | 兰州物流公司_兰州货运公司_兰州物流电话上门取货_兰州立辉物流公司 | 温州方圆仪器有限公司 工业自动化|自动化设备 - 温州方圆仪器有限公司 | 长沙升阳化工材料有限公司| 江苏苏仪集团有限公司 江苏红光仪表厂有限公司 | 徐州恒铭机械设备有限公司_装载机配件_压路机配件_起重机配件_挖掘机配件_配件_徐州恒铭机械设备有限公司 | 宜宾三江人才网_三江人才网_宜宾三江人才网_三江人才直聘网是本地颇具规模的网上人才市场 | 深圳网站建设-量身定制原创设计-专业网站建设公司【企术】 | 生活污水处理设备-地埋式污水处理设备厂家-山东梦之洁水处理设备有限公司 | 廊坊纳科新材料技术有限公司--纳科新材料技术有限公司|廊坊纳科新材料|纳科新材料技术 | 沈阳资质代办_代办建筑资质「快」-【华廷元】沈阳代办公司首页- 沈阳机电一体化电热锅炉_沈阳蓄热式电锅炉_沈阳壁挂式电锅炉【沈阳远鹏电热供水设备工程安装有限公司】 | 麦秸映像网络技术有限公司,河南省政府采网入驻对接,新乡网站维护建设,小程序开发,APP定制开发,钉钉开发,新乡软件开发等相关网络业务 | 葫芦岛装修公司,兴城装修家装公司,葫芦岛鑫昕装饰 | 美缝剂_美缝剂加盟_瓷砖美缝剂_美缝剂厂家_填缝剂_领翔美缝剂-【官网】 | 塑木地板-木塑地板厂家「云南昆明楚雄曲靖玉溪塑木地板」云南云冶中信塑木新型材料有限公司 | 移动石料破碎机-颚式锤式反击式破碎机设备厂家_山东.青州富康机械 | 誉瑞仪器是全球知名检测仪器厂商RAE在华东地区的专业级产品销售及授权维修服务商- | 重庆聚成达汽车有限公司-重庆吸污净化车| 青砖_仿古砖_仿古小青瓦-「肥西晓军仿古建材」 | 九江江菱电梯有限公司| 浙江创洁卫生消杀有限公司-浙江杀虫公司,温州消杀公司,温州灭鼠公司,灭蟑螂,灭蚊蝇,灭跳蚤,灭书虱,灭臭虫,灭螨虫,白蚁防治,房间消毒除味等专业服务 | 济南德固机械|膨化食品生产线|早餐谷物玉米片生产线|拉丝蛋白生产线|速食米饭生产线 | 太阳能路灯生产厂家-郑州太阳能高杆灯价格-道路照明智能路灯-河南坤德照明 | 廊坊微信营销,廊坊小程序开发,廊坊APP开发(安卓_苹果ios开发),微信朋友圈广告,百度推广,廊坊网络公司品牌服务商-河北盛秋网络科技有限公司 | 随车吊/洒水车/低平板运输车-程力专用汽车股份有限公司 | 全自动清洗过滤器_网式盘式过滤器_石英砂过滤器_叠片过滤器-湖南多灵过滤系统科技有限公司 | 立式加工中心_龙门加工中心_卧式加工中心-山东威达重工股份有限公司 | 信管飞软件官网 - 亚拓软件旗下精细化管理软件、进销存管理软件、混凝土ERP、通风设备ERP、风管报价软件、出纳软件、送货单打印软件、ERP软件等免费下载 | 珀金斯动力设备扬州有限公司| 宿迁网站建设-宿迁做网站-宿迁网站制作-宿迁网络公司-宿迁网页设计-宿迁软件开发-宿迁新动力软件开发有限公司 |