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

當(dāng)前位置:首頁(yè) > 網(wǎng)站舊欄目 > 學(xué)習(xí)園地 > 設(shè)計(jì)軟件教程 > DomainModel之鳥瞰

DomainModel之鳥瞰
2010-01-14 22:34:42  作者:  來(lái)源:
第一次接觸GoogleEarth,帶給我相當(dāng)?shù)恼鸷场D憧梢噪S意轉(zhuǎn)動(dòng)地球,通過(guò)縮放,看到不同層次的景象,這著實(shí)讓我吃驚,竟然可以這樣!手握鼠標(biāo),來(lái)回查看,有種作“上帝”的感覺,如果是實(shí)時(shí)的那就不得了了!相信很多人都有在上面尋找自己家的經(jīng)歷。就拿我來(lái)說(shuō),首先轉(zhuǎn)到背面中國(guó)的位置,滑動(dòng)滾輪,逐漸深圳的全貌顯露出來(lái),西面是蛇口黃色的填海區(qū),上面是深圳的綠肺塘朗山。繼續(xù)向下,黑灰色的廣深高速開始清晰可見,在我辨別清楚小區(qū)所在位置后,范圍進(jìn)一步縮小,旁邊高級(jí)中學(xué)里紅色跑道包圍的足球場(chǎng),看起來(lái)很規(guī)整,小區(qū)游泳池,也從一個(gè)小藍(lán)點(diǎn)逐漸露出了它的鋼琴造型。最后停放在小區(qū)里的轎車也顯露無(wú)遺。

  GoogleEarth提供了一個(gè)可伸縮的鳥瞰視角,生動(dòng)的展示了我們所處地方的本來(lái)面貌。這不同于,我們每日看到的景象,也不同于我們?cè)?jīng)看到的地圖和地球儀。在DomainModel中,雖然沒有GoogleEarth for DomainModel的特殊版本。但我們可以采用類似的方法來(lái)查看我們的Model。

  在明確了DomainModel控制風(fēng)格和演化規(guī)律后,我們還需要確定DomainModel中各部分的依賴和職責(zé),才能得到整體觀感。

“從演化規(guī)律來(lái)看,要理解生命周期短者的觀點(diǎn),必先理解生命周期長(zhǎng)者的觀點(diǎn)”:)

我們先考察OO大師PeterCoad等的著作--Java Modeling In Color With Uml。
PeterCoad關(guān)于企業(yè)信息系統(tǒng)觀點(diǎn)的努力,首先在Object Models:Strategies,Patterns, and Application中得到表達(dá),隨后,在Java Modeling In Color With Uml中,通過(guò)“Domain-Neutral Component”更系統(tǒng)的完善了他的構(gòu)想。

“色彩迷”PeterCoad“四色論”觀點(diǎn),簡(jiǎn)單可表達(dá)為“特定領(lǐng)域構(gòu)件,用四種領(lǐng)域中立,按照重要程度分配顏色的構(gòu)件原型,建立模型。”

四種構(gòu)件原型為:
“moment-interval”--代表領(lǐng)域中可長(zhǎng)可短的業(yè)務(wù)交互。因其地位最重要,故用扎眼的粉紅色表示。
“party, place, or thing” --表示“moment-interval”中,涉及的實(shí)體。其地位在“description”之上,而在“role”之下,用舒服的綠色。
“role”-- 是指“moment-interval”中,"party, place, or thing"的參與方式。地位僅次于“moment-interval”,第二刺眼,黃色。
“description”-- 用來(lái)描述上述三者。最平靜,藍(lán)色。

關(guān)聯(lián),一般是“moment-interval”----“role”----“party, place, or thing” ----“description”。但也存在其他關(guān)系。
另外PeterCoad在貢獻(xiàn)出領(lǐng)域中立構(gòu)件原型“烤箱”的同時(shí),還不忘贈(zèng)送我們用它烹調(diào)出來(lái)的12套“特定領(lǐng)域構(gòu)件”大餐,讓我們品嘗。

ColorUml確實(shí)給構(gòu)建企業(yè)信息系統(tǒng),帶了很多實(shí)用的指導(dǎo)。不過(guò)Domain.Driven.Design作者,領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)專家,Eric&Evans的觀點(diǎn),也著實(shí)讓人入迷。

Eric&Evans在DDD中,明確提出了DomainModel職責(zé)層的概念。
“在深入了解一個(gè)領(lǐng)域之后,大模式開始顯現(xiàn)。一些領(lǐng)域具有自然的層次結(jié)構(gòu)。某些概念和活動(dòng)依賴于其他元素,而這些元素又出于不同的原因,以不同速率變化著,我們?nèi)绾卫眠@種自然結(jié)構(gòu),使它變得更加明顯和有用呢?這種層次結(jié)構(gòu)意味著分層,一種最成功的構(gòu)架設(shè)計(jì)模式。”

“職責(zé)層最適合用分層模式中的“松散分層系統(tǒng)”來(lái)設(shè)計(jì),它允許層,不光可以訪問它的直接下層,還可以訪問所有低于它的層。
因此:
仔細(xì)考慮模型中概念依賴的關(guān)系,它們的變更速率,以及導(dǎo)致領(lǐng)域各部分發(fā)生變化的來(lái)源。如果界定出了領(lǐng)域中的自然層次,那就把它們轉(zhuǎn)化成大的抽象職責(zé)。這些職責(zé)應(yīng)當(dāng)描述系統(tǒng)的高層目標(biāo)和設(shè)計(jì)。重構(gòu)模型,讓“領(lǐng)域?qū)ο?rdquo;,“聚合”和“模塊”適合于它所放入的職責(zé)層”

具體分層由上到下是:
Decision ----決策支持,需要執(zhí)行什么和設(shè)置何種策略?使用業(yè)務(wù)活動(dòng)提供的當(dāng)前信息和歷史信息,來(lái)分析決策,設(shè)置策略。
Policy ----策略,規(guī)則是什么?可以使用或約束低層行為。
Commitment----約束,承諾了什么?協(xié)議,合同。約束操作層,但其本身也是業(yè)務(wù)活動(dòng)的結(jié)果。
Operation----操作,做什么?企業(yè)運(yùn)營(yíng)的核心業(yè)務(wù)活動(dòng)
Potential----潛能,考慮能做什么?組織和其可用的資源。

在一般應(yīng)用中,Operation層和Potential層可以放入大部分DomainObject。

比較上述兩者,可以找到相似之處,“party, place, or thing”構(gòu)件原型同Potential層中包含的東西,極為類似。Operation難道不是“moment-interval”么?Commitment也是“moment-interval”的一種。“description”同“specification”類似。當(dāng)然,也有不同之處,ColorUml沒有強(qiáng)調(diào)對(duì)象依賴關(guān)系的重要性。"role"在DDD中,沒有突出的位置。

下面,談?wù)勎业南敕ā?

根據(jù)前面的討論和得到的規(guī)律,結(jié)合上面的論述。我們希望系統(tǒng)可以隨著業(yè)務(wù)的變化,而同步變化。如果,我們總是試圖遵循業(yè)務(wù)概念的依賴來(lái)搭建系統(tǒng),那么,我們就能更直接的實(shí)現(xiàn)業(yè)務(wù)變化。如果,我們的系統(tǒng)就是按照業(yè)務(wù)的概念依賴關(guān)系,搭建起來(lái)的。那么,業(yè)務(wù)發(fā)生變化時(shí),我能總能找到對(duì)應(yīng)的變化點(diǎn)。按照概念依賴關(guān)系,我們知道那些對(duì)象可能會(huì)涉及到這種變化,那些對(duì)象根本不用考慮。

但正如前面提到的,業(yè)務(wù)概念的依賴關(guān)系,不會(huì)直接呈現(xiàn)在我們面前,我們必須采用“演化的觀點(diǎn)”,加以提取,不斷把基本概念和擴(kuò)展概念進(jìn)行分離。

入口,我選擇能體現(xiàn)企業(yè)存在意義的“核心業(yè)務(wù)交互”(理論上,可以從任何一個(gè)概念入手)。這類似于前面兩種方法的Operation/moment-interval。要理解加法,我們首先要對(duì)可以做加法的數(shù)有所了解。同樣道理,要理解“核心業(yè)務(wù)交互”,我們首先要理解參與交互的參與者。舉例來(lái)說(shuō),我們要理解生命周期較短的“購(gòu)買商品”,就需要理解,誰(shuí)買的?客戶,誰(shuí)賣的?員工,購(gòu)買的是什么?商品,在哪里購(gòu)買的?地點(diǎn),我們得到一些依賴關(guān)系:
購(gòu)買商品-->客戶,購(gòu)買商品-->員工,購(gòu)買商品-->商品,購(gòu)買商品-->地點(diǎn)。
要理解誰(shuí)來(lái)扮演客戶或員工的角色么?如果需要的話,客戶-->參與者,員工-->參與者。
商品要分類么?是,商品-->商品目錄。商品的定價(jià)是多少?商品定價(jià)-->商品。在不同目錄里商品是同樣的定價(jià)么?否,集團(tuán)購(gòu)買的要便宜些,商品<--商品目錄定價(jià)-->商品目錄。商品目錄定價(jià)-->商品定價(jià)
商品有優(yōu)惠策略么?有賣二送一,優(yōu)惠策略-->購(gòu)買商品。優(yōu)惠策略有期限么?有,只在國(guó)慶節(jié)優(yōu)惠,優(yōu)惠策略-->日歷。

“核心業(yè)務(wù)交互”也可以是生命周期較長(zhǎng)的概念,如“協(xié)議”。協(xié)議可以由一次較短的核心業(yè)務(wù)交互產(chǎn)生。如:電信中的購(gòu)買協(xié)議,就是通過(guò)訂購(gòu)活動(dòng)產(chǎn)生的。也有把訂單視為協(xié)議的,但區(qū)分訂單和由此產(chǎn)生的購(gòu)買協(xié)議,可以更好的對(duì)應(yīng)實(shí)際訂單和跟隨訂單的協(xié)議書。按照“靜態(tài)依賴”規(guī)律,得到訂購(gòu)-->購(gòu)買協(xié)議。

“核心業(yè)務(wù)交互”可以很長(zhǎng),也可以很短。實(shí)際上,“核心業(yè)務(wù)交互”的壽命極限可以逼近參與角色,可以認(rèn)為“客戶”也是一個(gè)大的“核心業(yè)務(wù)交互”,它通過(guò)“客戶開戶”這個(gè)瞬間“核心業(yè)務(wù)交互”而產(chǎn)生。

瞬間“核心業(yè)務(wù)交互”,比比皆是,通常在一個(gè)事務(wù)里處理的業(yè)務(wù)活動(dòng),都可以算作瞬間的“業(yè)務(wù)交互”。甚至,還存在,比事務(wù)還小的瞬間“業(yè)務(wù)交互”,例如:在一次“轉(zhuǎn)賬業(yè)務(wù)”中,可以包含一個(gè)“轉(zhuǎn)出業(yè)務(wù)”和一個(gè)“轉(zhuǎn)入業(yè)務(wù)”。

理解“業(yè)務(wù)交互”,是理解DomainModel的基礎(chǔ)。可以把“業(yè)務(wù)交互”看作是連接其他概念的紐帶,它本身會(huì)依賴一些基本元素,參與角色,資源,。在其上有依賴于它的協(xié)議、約束,策略和決策支持等。

我們來(lái)看一個(gè)“動(dòng)態(tài)依賴”實(shí)例。
個(gè)人銀行業(yè)務(wù):
通過(guò)“掛失業(yè)務(wù)”,創(chuàng)建一個(gè)“掛失協(xié)議”。掛失業(yè)務(wù)-->掛失協(xié)議(靜態(tài)依賴)
該“掛失協(xié)議”將影響到“取款業(yè)務(wù)”。掛失協(xié)議-->取款業(yè)務(wù)(動(dòng)態(tài)依賴)

再看另外一個(gè)實(shí)例。
證券交易:
計(jì)算某筆“委托”的交易費(fèi)用。費(fèi)用策略-->委托(動(dòng)態(tài)依賴)

可能,你已經(jīng)注意到了這里有“核心業(yè)務(wù)交互”和“業(yè)務(wù)交互”,他們的區(qū)別在于,“核心業(yè)務(wù)交互”主要針對(duì)企業(yè)的外界涉眾而發(fā)生的“業(yè)務(wù)交互”,是企業(yè)的核心目標(biāo)。此外,還存在為了達(dá)到核心目標(biāo)而需要的,支持和管理的“業(yè)務(wù)交互”,如:“用戶授權(quán)”,簡(jiǎn)單的“商品入庫(kù)”等等。需要注意的是,Eric Evans的職責(zé)層中的Operation應(yīng)當(dāng)理解為“核心業(yè)務(wù)交互”。而不是“業(yè)務(wù)交互”,考慮到Potential層產(chǎn)生員工的“員工開戶”,也是一個(gè)“業(yè)務(wù)交互”,就不難理解我的意思。

對(duì)于企業(yè)級(jí)應(yīng)用,還可能存在的依賴有:
工作流-->業(yè)務(wù)交互
工作流策略-->工作流
項(xiàng)目管理-->業(yè)務(wù)交互
由于,它們可能會(huì)影響到整個(gè)“業(yè)務(wù)交互”,其基礎(chǔ)工作流引擎,基礎(chǔ)業(yè)務(wù)規(guī)則引擎,基礎(chǔ)項(xiàng)目管理構(gòu)件,都需要放入底層的包中,在其之上擴(kuò)展出的具體流程、規(guī)則和實(shí)際項(xiàng)目,將放入其依賴的具體業(yè)務(wù)交互的包里。

大體上,我接受Eric&Evans的觀點(diǎn),從8000公里上空來(lái)看,最下層是最穩(wěn)定的“潛能”、通用業(yè)務(wù)元素和通用引擎構(gòu)件,在其之上是“核心業(yè)務(wù)交互”層,它將受到施加于其上的約束、承諾層的影響,在約束和承諾層之上,是策略層,策略通過(guò)考察“業(yè)務(wù)交互”和相關(guān)的約束承諾,按照已定義的規(guī)則行事,最后,決策層負(fù)責(zé)設(shè)置這些規(guī)則。

不過(guò),正如Eric&Evans已表達(dá)的,把它看作一個(gè)指導(dǎo),而不是約束。因?yàn)椋褪窃谕粚又校粋(gè)包中,也要考慮對(duì)象間的依賴關(guān)系,另外,領(lǐng)域的自然層次結(jié)構(gòu),并不一定完全遵循這種固定的劃分模式。

總之,我希望通過(guò)考察“核心業(yè)務(wù)交互”入手,建立一個(gè)帶有強(qiáng)烈“單向依賴”傾向的積木式DomainModel,得到一種簡(jiǎn)單、明晰的優(yōu)雅領(lǐng)域構(gòu)架,它反映了領(lǐng)域的自然分層結(jié)構(gòu),因而,能從容應(yīng)付業(yè)務(wù)當(dāng)前和未來(lái)的發(fā)展變化。

安徽新華電腦學(xué)校專業(yè)職業(yè)規(guī)劃師為你提供更多幫助【在線咨詢
主站蜘蛛池模板: 泡沫混凝土垫层填充厂家,发泡混凝土垫层填充,轻质混凝土垫层填充厂家,深圳市鸿奥建材发展有限公司 | 湖南视频会议设备厂家|长沙视频会议设备安装型号齐全找湖南日恒智能工程有限公司 | 实木全屋定制|整木定制|整木家装|实木护墙板-浩冠家具官网 | 液压万能试验机价格_电子万能试验机|摩擦磨损试验机厂家-济南辰达试验机制造有限公司 | 济宁山银煤矿机械有限公司,钻采工具,防爆电器,凿岩机械,风动工具,矿山机械,建筑机械,支护设备,通风防尘,铁路设备,仪器仪表,大型设备,矿用泵,钎具类,消防类,矿车类,配件区类 | 拓普思(常州)智能科技有限公司-青少年无人机教育培训比赛课程加盟拓活力 | 上海中医医院_上海名老中医专家门诊_上海徐浦中医医院 | 智能试剂柜-疾控|高校实验室|医院药品智能试剂管理柜-北京晶品赛思 | 橡塑保温材料_防火保温材料_保温棉_东莞康成保温材料有限公司 | 清研集团 - 北京清研灵智科技有限公司| 滑动轴承_无油自润滑轴承_复合干式_含油铜套_石墨铜套-嘉善盛元自润滑轴承厂 | 亚克力游泳池_透明/空中/无边泳池_别墅亚克力泳池设计生产厂家_瑞地格乐-深圳他拍档 | 云南万通汽车学校【官方网站】| 小麦硬度指数仪-石灰活性测定仪-智能型砂强度仪-北京同德创业科技有限公司 | 泰州光明会计师事务所有限公司-财务业务审计,会计服务业务及资产评估业务的专业服务机构 | 思为网络_成都百度优化快照排名-成都网站建设优化_成都网页设计_成都SEO公司 | 快达物流:电商和微商的仓储物流外包和托管服务-北京快达国际物流服务有限公司官方网站 | 制砂机_鹅卵石制砂机_河卵石制砂机_制砂机价格-上海山卓重工机械有限公司 | 南京人才网_南京招聘网_南京人才市场最新招聘信息 | 西安真石漆_无机涂料厂家_无机涂料多少钱一个平方—陕西秦森环保科技有限公司 | 深圳市佳顺优印印刷有限公司,佳顺优印,画册印刷,海报印刷,封套印刷,手提袋印刷,包装盒印刷,彩盒印刷,无碳纸印刷,不干胶印刷,信封印刷,便笺印刷,笔记本印刷,台历印刷,挂历印刷,国际会展中心附近印刷厂,宝安印刷厂,宝安教材印刷厂 | 济宁市泓世新型建材有限公司,山东ALC墙板,GRC轻质隔墙板,预制化粪池,复合墙板加工厂家 | 制沙机,反击式破碎机,重锤破碎机,泥石分离机,圆锥破碎机厂家-昆明德鑫机械 | 微机继电保护测试仪,单相继电保护测试仪,三相继电保护测试仪,六相继电保护测试仪,介质损耗测试仪,氧化锌避雷器测试仪,无线核相仪-扬州豪泰电力科技有限公司 | 圆柱模板_圆柱木模板_方柱加固件_建材板材网| 深圳货柜租赁_集装箱出售/租赁_集装箱改造_鹏泰集装箱 | 铜陵耐火砖|铜陵耐火浇注料|铜陵耐火材料|铜陵市金钟物资经营部【官网】 | 轻质隔墙板厂家-加气隔墙板_grc轻质隔墙板_空心实心复合隔墙板_水泥混凝土轻质隔墙板批发价格 | 宁波明驰同步带有限公司 | 欧美日韩人妻精品一区二区三区_欧美成人精品欧美一级乱黄_亚洲欧美日韩高清一区二区三区_国产一级做a爰片久久毛片_日韩一级视频在线观看播放_精品一区二区三区免费毛片爱_完整观看高清秒播国内外精品资源 | 美林基业集团官网——美林基业,一生挚诚 | 智能照明模块,智能动力控制器,巨川电气-智能电气领航 | 温湿度记录仪_温度监控_冷链监控云平台_USB/PDF温度记录仪-深圳市鸿睿物联科技发展有限公司 | 欣宇航化工-湖北片碱-冰醋酸厂家联系方式-工业氨水价格-工业片碱厂家-武汉宇航化工 | 生物安全柜检测,GMP设备确认,仪器性能确认,洁净厂房检测,仓储温湿度检测-上海熙迈 | 交通标志牌-交通标牌-铝圆牌-铝三角片-铝滑槽-公路警示指示牌-方牌-高速道路反光牌毛坯-交通设施安全警示标识牌-路名指示限速限高牌-厂家加工交通标牌铝板半成品毛坯-上海吕盟铝业有限公司 | 机械配件加工_数控车床加工_零件加工_精密件加工_cnc加工定制—深圳精密机械加工 | 商城网站建设_商城系统_响应式商城_小程序商城_FwShop | 消防排烟风机|3C排烟风机|正压送风机|高温排烟风机|柜式排烟风机-山东锦松环境设备有限公司 | 门禁控制器-自动道闸-停车场系统-车位引导系统-车牌识别系统-楼宇对讲-可视门铃-门禁一卡通-河北京鹏电子科技有限公司 | 土工布厂家,土工布价格,山东德旭达土工材料有限公司 |