国产一区二区精品久久_蜜桃狠狠狠狠狠狠狠狠狠_午夜视频精品_激情都市一区二区

當前位置:首頁 > 網站舊欄目 > 學習園地 > 設計軟件教程 > DomainModel之演化(已更新)

DomainModel之演化(已更新)
2010-01-14 22:34:08  作者:  來源:
OO世界里的DomainModel,相對其他人工創造的領域來說有它的優勢,大部分DomainObject在現實世界都能找到原型。通過分析現實世界的原型,我們能得到足夠多的原始材料。

  在構建企業信息系統時,我們希望構建出的系統,在高效正確運行的同時,構架容易理解,易于擴展。我認為要做到這點,必須要滿足后面的條件--系統構架須同領域存在一致的演化映射。領域基本概念就是系統的基本對象,在領域基本概念上,演化的擴展概念,系統必須要以擴展方式,實現它們,擴展對象需關聯其基礎對象,而不能相反。如果不滿足這個條件,則系統構架和領域間將存在不匹配情況,并且其上發展的概念的映射也將受到影響。
 
  所以我們首先要考查領域概念的演化關系。一旦我們確定了這種演化關系,那么DomainModel很大程度就是簡單的一一映射問題。不過由于領域的概念,多半都是同時,而并不是按照演化的方式呈現在我們面前。我們有必要整理一番。“如果不研究中國的歷史,就沒法理解中國的現狀”,同樣,“如果不研究領域概念的演化,也就沒法理解領域模型的結構”。

“世界就是相互作用的總和”,對于企業活動也可以這么看。企業活動,必然存在參與者,包括,資源提供方--目標組織及其價值供應鏈和資源消費方--客戶。也必然存在他們之間交換的資源,可以是物,商品、器材、書、證券等;也可以是某種服務,保險、租賃、上網、訪問權限等。所以,基本的業務概念,就是“參與者”、“資源”和“業務交互”,而“業務交互”依賴于“參與者”和“資源”。簡單來說,企業信息系統就是要解決“參與者間,圍繞資源進行業務交互”的自動化問題。

  考查一個券商證券交易系統的示意版本,最基本的參與者是:客戶、員工、證券公司、交易所。最基本的資源是證券交易服務。為了完成證券交易服務,還需要屬于客戶的保證金帳戶和證券帳戶。證券帳戶要知道自己使用哪個保證金帳戶來清算,另外證券帳戶將依賴于交易所子域中交易市場。交易市場必須要知道自己屬于哪一交易所。
證券交易委托-->保證金帳戶,證券交易委托-->證券帳戶,證券帳戶-->保證金帳戶
保證金帳戶-->客戶,證券帳戶-->客戶
證券帳戶-->交易市場,證券帳戶明細-->證券,證券-->交易市場,交易市場-->交易所
這里引入一個重要問題,對于對象間的關聯,我們到底如何確定它們的依賴和導航關系?似乎證券帳戶-->證券交易委托,客戶-->保證金帳戶,客戶-->證券帳戶,交易市場-->證券,交易所-->交易市場,也是合理的依賴和導航關系。為什么我們不建立呢?我的回答是“這種方向的依賴關系,背離了領域概念的演化規律”。讓基本概念依賴于擴展概念,將導致基本概念不穩定。要使我們的領域概念穩定,必須要做到基本概念不隨著業務的發展而改變。也就自覺的遵守了“開閉原則”。

  業務概念的依賴分兩種。一種是--“靜態依賴(持久依賴)”,另一種是--“動態依賴(短暫依賴)”

  “靜態依賴”-- 要劃分靜態關聯的基本概念和擴展概念,有一個簡單有效的方法,那就是比較它們的生命周期,生命周期長者為基本概念。理由很簡單,因為兩關聯概念生命周期不同,必存在生命周期長者在某個時間段,沒有生命周期短者同它關聯而獨自存在。

擴展概念:      |---------------|
基本概念:  |--------------------------------|

“動態依賴”--對應UseCase中的擴展關系。例如:電信應用中價格策略同產品訂單的關系,價格策略根據客戶購買產品的訂單,來施加業務規則,雖然,價格策略的生命周期要比單個訂單長,但擴展概念卻是價格策略,訂單到成了基本概念。“動態依賴”的識別規律,在UseCase建模中,已經給出--“擴展是基本的可選部分”。

不管是“靜態依賴”擴展,還是“動態依賴”擴展,都滿足“基本概念可以獨立于擴展概念存在,反之則不然”的特征。

  雖然,上述的結論來源于我所經歷的幾個特定領域,但我相信它同樣適合于其他的企業信息系統。當然,這需要得到印證
安徽新華電腦學校專業職業規劃師為你提供更多幫助【在線咨詢
相關熱詞搜索:更新