欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
Domain Driving Model Design之總結與我的選擇

摘自:http://www.blogjava.net/langds/

首先引用說(shuō)明一下Domain Model 的定義:

Domain Model An object model of the domain that incorporates both behavior and data.

Domain Model 分兩種:

1  Simple Domain Model (Active Record)

它的特點(diǎn)是POJOTABLE STRUCTURE一一對應,建?;跀祿煸O計。Hibernate走的就是這個(gè)路子,說(shuō)它貧血,意思就是指它只有data,沒(méi)有behavior。(但我們實(shí)際可以通過(guò)HBM文件的定義和映射,在PO中適當的加入一些基本的業(yè)務(wù)邏輯的。)

在這種模式下,POJO自己的CRUD操作都應該放在自己的類(lèi)里面。其他復雜的業(yè)務(wù)邏輯會(huì )放到外面的Service layer。

2  Rich Domain Model (Data Mapper)

它的特點(diǎn)是POJOTABLE STRUCTURE并不一一對應,建模天馬行空,完全取決于業(yè)務(wù)邏輯。domain objecttable之間的mapping,由Data Mapper完成,domain object不用管數據表是何等結構,甚至不用管Data Mapper怎么操作。

 

1.識別某種業(yè)務(wù)行為的一個(gè)很確定的原則:

       domain logic只應該和這一個(gè)domain object實(shí)例狀態(tài)(并非“持久”狀態(tài))有關(guān),而不應該和一批domain object的狀態(tài)有關(guān).

進(jìn)一步的說(shuō):主要看logic是否只和這個(gè)object(注:指自身)的狀態(tài)有關(guān),如果只和這個(gè)object(注:指自身)有關(guān),就是domain logic;如果logic是和一批domain object(注:指同類(lèi)型的實(shí)體)的狀態(tài)有關(guān),就不是domain logic,而是business logic。

 

2.Domain Model Hibernate PO 的區別:

領(lǐng)域模型的代碼實(shí)現需要用一組互相協(xié)作的類(lèi)來(lái)完成,每一個(gè)或者一組類(lèi)承擔這個(gè)領(lǐng)域模型的某個(gè)特征。而Hibernate的實(shí)體類(lèi)只不過(guò)是其中的一組類(lèi),它承擔的職責就是保持領(lǐng)域模型的狀態(tài)的。

 

3.基于Domain Model 分析與設計的方法規則:

應該由領(lǐng)域模型來(lái)驅動(dòng)你的軟件內在規則,由需求驅動(dòng)你的軟件外在交互.

 

最后,我想補充的是:根據目前的O/R Mapping技術(shù),我們在實(shí)際項目開(kāi)發(fā)中,能真正做到 富領(lǐng)域模型 還不現實(shí)(因為我們還要考慮諸如性能、目前O/R持久化特性等等問(wèn)題),更何況,我們的MODEL DATA最終需要被持久化,因此,我比較反對在DOMAIN MODEL 中直接通過(guò)任何方式做任何持久化操作,因為這會(huì )讓你所設計的MODEL無(wú)法獨立化,難以單元測試,并且與加入了一些外界無(wú)關(guān)的東西,這不符合對象的本質(zhì)(對象本身是不能持久化的)。雖然我們做不到完整意義上的Domain Driving Model Development,但我們可以在項目實(shí)際開(kāi)發(fā)中因為性能、結構簡(jiǎn)化等等上面得到補償,這已經(jīng)值得欣慰了。

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
InfoQ: Eric Evans on Domain Driven Design
Java視線(xiàn)論壇 :: 閱讀主題 - 總結一下最近關(guān)于domain object以及相關(guān)的討論
Tapestry Spring Hibernate整合工作小結[摘] :: 成功與自信
貧血模型和充血模型
java術(shù)語(yǔ)(PO/POJO/VO/BO/DAO/DTO)
阿里領(lǐng)域驅動(dòng)設計實(shí)踐
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久