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

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

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

開(kāi)通VIP
博客園 - 企業(yè)設計模式讀書(shū)筆記 Domain Model

企業(yè)設計模式讀書(shū)筆記 Domain Model

Posted on 2005-01-30 22:06 idior 閱讀(1021) 評論(4)  編輯 收藏 收藏至365Key 所屬分類(lèi): Design

Domain Model:
 

特點(diǎn):

有一系列的實(shí)體對象,每個(gè)對象不只包含數據更重要的包含各自的行為責任。每個(gè)對象只做自己的事情,多個(gè)對象通過(guò)協(xié)作共同完成一件事情??梢猿浞职l(fā)揮面向對象和模式的作用。 很符合面向對象的特性。

 

優(yōu)點(diǎn):

處理復雜多變的系統有很大優(yōu)勢,可以很好發(fā)揮(Gof)模式的作用。

 

缺點(diǎn):

O/R mapping 是件比較麻煩的事。

 

說(shuō)明:

有兩種風(fēng)格的Domain Model

1.   每個(gè)對象對應于數據庫中的表中一行。 Active Record模式

2.   有很多的對象(由于使用繼承和模式,比如一個(gè)接口,多個(gè)實(shí)現類(lèi)) Data Mapper模式

 

一系列的實(shí)體對象如何存儲需要仔細考慮,一些簡(jiǎn)單的應用可以將他們從數據庫中全部載入,如果對象很多,那么有時(shí)需要按需載入。如果是服務(wù)器上的對象那么還要考慮使用session進(jìn)行管理。同時(shí)O/R mapping 也是一個(gè)要注意的問(wèn)題。

 

使用Domain Model很容易引起對象臃腫。比如為了讓Contract對象可以在UI中被操作,那么就需要在Contract類(lèi)中添加專(zhuān)門(mén)的函數,如此一般對象就容易變的很大。這時(shí)候可以考慮將一些通用的操作提到專(zhuān)門(mén)的類(lèi)中,甚至提到其他層,比如UI層。但是如果提到其他地方,人們有時(shí)就會(huì )忽略它,以致再寫(xiě)一次,產(chǎn)生不必要的重復。Martin建議還是放在原來(lái)的類(lèi)中,因為這種對象臃腫的現象往往比預期的少,就算發(fā)生也容易發(fā)現并修改。

 

此處Martin還提到了EJB,個(gè)人不是太了解,總之他覺(jué)得EJB1.0不太好,建議使用POJOplain old java objects)就是常見(jiàn)的自定義的java對象。除非是那種小的對象系統,比如沒(méi)怎么用到繼承,模式的系統可以使用EJB中的Entity Bean。

他還提到Entity Bean不能re-entrant,這是它的主要缺陷。(誰(shuí)來(lái)解釋一下,我看的一知半解)而且CMPO/R mapping也是支持有限。不過(guò)他對EJB2.0好像評價(jià)不錯,現在3.0都出來(lái)了,哪位高人介紹一下啊。

 

涉及模式:

簡(jiǎn)單類(lèi)結構Active Record  復雜用到多態(tài)和模式的類(lèi)結構DataMapper


注:此處僅為個(gè)人的簡(jiǎn)單理解,歡迎指教。

Feedback

# re: 企業(yè)設計模式讀書(shū)筆記 Domain Model  回復   

2005-01-31 10:03 by 純爺們
我覺(jué)得EJB中的Entity Bean,尤其是CMP,實(shí)際運用中不可能只靠它,原因我覺(jué)得有下面幾條:
1.CMP有太多的內在處理,效率是比較低的。
2.因為它是把行記錄對象化,當然操作是方便了許多,但是對于批量的數據不太適合,所以曾經(jīng)有人建議在處理查詢(xún)的時(shí)候還是用JDBC。

不知道是不是我記錯了,我覺(jué)得在這本書(shū)中說(shuō)的active record模式并不是你筆記里寫(xiě)的對應數據庫中的表,而是對應表中的行,從record上也可以看出,實(shí)際上在CMP中處理的對象我個(gè)人覺(jué)得是active record模式。尤其是在A(yíng)ctive Record對象中可能要包含操作,比如在CMP中的對于對象的CRUD操作是有的,這可能和Row Data Gateway不一樣的地方


個(gè)人的拙見(jiàn),FYI!

# re: 企業(yè)設計模式讀書(shū)筆記 Domain Model  回復   

2005-02-01 13:11 by idior
active record模式確實(shí)是對應一行。謝謝提醒,筆誤。
能否指教一下re-entrant。

# re: 企業(yè)設計模式讀書(shū)筆記 Domain Model  回復   

2005-02-01 17:11 by 純爺們
re-entrant,我也不知道,我沒(méi)有做過(guò)J2EE的開(kāi)發(fā),呵呵!你要是搞懂了記得通知一下:)

# re: 企業(yè)設計模式讀書(shū)筆記 Domain Model re-entrant,  回復   

2005-04-03 18:32 by 陸剛
說(shuō) EJB 不能re-entrant,我理解Martin的意思如下:

實(shí)際上是一個(gè)包依賴(lài)關(guān)系,你不能從A包調用B包的同時(shí),又從B包調用A包. 其實(shí)不光EJB如此,.Net也如此.

可以建立一個(gè)Facade層,比如C包,可以向下調用A包和B包,我在.NET是如此實(shí)現的,但是EJB如何,我不知道細節.
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
走向.NET架構設計
MVC架構模式
j2ee的學(xué)習路線(xiàn)目前JAVA主要分三個(gè)方向:J2EE(java2enterpriseeditio
為什么要使用EJB?
優(yōu)化entity Bean的七條準則
PetStore 中EJB 的設計模式
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

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