首頁 考試吧論壇 Exam8視線 考試商城 網(wǎng)絡(luò)課程 模擬考試 考友錄 實用文檔 繽紛校園 英語學(xué)習(xí) | ||
2010考研 | 自學(xué)考試 | 成人高考 | 專 升 本 | 法律碩士 | MBA/MPA | 中 科 院 | ||
四六級 | 商務(wù)英語 | 公共英語 | 職稱日語 | 職稱英語 | 博思 | 口譯筆譯 | GRE GMAT | 日語 | 托福 | ||
雅思 | 專四專八 | 新概念 | 自考英語 | 零起點英、法、德、日、韓語 | 在職申碩英語 | ||
在職攻碩英語 | 成人英語三級 | ||
等級考試 | 水平考試 | 微軟認(rèn)證 | 思科認(rèn)證 | Oracle認(rèn)證 | Linux認(rèn)證 | ||
公務(wù)員 | 報關(guān)員 | 報檢員 | 外銷員 | 司法考試 | 導(dǎo)游考試 | 教師資格 | 國際商務(wù)師 | 跟單員 | ||
單證員 | 物流師 | 價格鑒證師 | 銀行從業(yè)資格 | 證券從業(yè)資格 | 人力資源管理師 | 管理咨詢師 | ||
期貨從業(yè)資格 | 社會工作者 | ||
會計職稱 | 注會CPA | 經(jīng)濟(jì)師 | 統(tǒng)計師 | 注冊稅務(wù)師 | 評估師 | 精算師 | 高會 | ACCA | 審計師 | ||
法律顧問 | 會計證 | ||
一級建造師 | 二級建造師 | 造價師 | 監(jiān)理師 | 安全師 | 咨詢師 | 結(jié)構(gòu)師 | 建筑師 | 安全評價師 | ||
房地產(chǎn)估價師 | 土地估價師 | 設(shè)備監(jiān)理師 | 巖土工程師 | 質(zhì)量資格 | 房地產(chǎn)經(jīng)紀(jì)人 | 造價員 | ||
投資項目管理 | 土地代理人 | 環(huán)保師 | 環(huán)境影響評價 | 物業(yè)管理師 | 城市規(guī)劃師 | 公路監(jiān)理師 | ||
公路造價工程師 | 招標(biāo)師 | ||
執(zhí)業(yè)護(hù)士 | 執(zhí)業(yè)醫(yī)師 | 執(zhí)業(yè)藥師 | 衛(wèi)生資格 |
在JiveJdon3中,com.jdon.jivejdon.service.ForumService和Forum實體模型及其值對象ForumState共同完成領(lǐng)域模型,其中ForumService屬于應(yīng)用服務(wù)層;而后兩者屬于領(lǐng)域?qū)樱黄渌⻊?wù)ForumMessageService、AccountService和UploadService等都是此類性質(zhì)。
領(lǐng)域?qū)ο蟮纳芷赟cope
Spring 1.x剛出來時確實忽悠了大家一把,因為他沒有領(lǐng)域?qū)ο蟮纳芷谥С,直到Spring 2.0才將如new Bean scope,當(dāng)初那些瘋狂捧Spring 1.x 臭腳的所謂高手是不是還是基于數(shù)據(jù)庫驅(qū)動的思維,根本沒有真正OO模式思維,當(dāng)今天JBoss Seam、Scopes等框架開始重視對象生命周期支持后,曾經(jīng)發(fā)生在Jdon社區(qū)爭戰(zhàn)硝煙已經(jīng)過去,成為歷史。
Eric認(rèn)為:每個對象獨有器生命周期,一個對象在創(chuàng)建以后,可能要經(jīng)歷各種不同的狀態(tài),并最終消亡。 對象生命周期由長短:臨時對象;常駐內(nèi)存;有的與其他對象存在復(fù)雜的依賴關(guān)系;狀態(tài)變化時必須滿足一些不變量的約束條件。 如何管理這些對象提出挑戰(zhàn)!處理不好會偏離MDD的方向。
在生命周期中維護(hù)對象的完整性。避免模型由于管理生命周期的復(fù)雜性而陷入困境。有 三個模式來處理:聚合(Aggregate):定義清晰的所有權(quán)和邊界使模型更加緊湊,避免出現(xiàn)盤根錯節(jié)的對象關(guān)系網(wǎng);工廠(Factory)和組合(Respository)。
當(dāng)一個對象生命周期之始,使用工廠和組合提供了訪問和控制模型對象的方法,完善了MDD。 建立聚合的模型,并且把工廠和組合加入設(shè)計中來,可以使我們系統(tǒng)地對模型對象進(jìn)行管理。 聚合圈出一個范偉,在這個范圍中,對象無論在哪個生命周期,保持不變性。
在JiveJdon3.0中,值對象ForumState是被聚合在實體模型Forum中,F(xiàn)orum作為ForumState的一個根,由于它們數(shù)據(jù)必須保持一致性,不變量(invariant)是指無論何時發(fā)生數(shù)據(jù)變化必須滿足一致性規(guī)則,由于根控制了訪問,就無法繞過它修改內(nèi)部元素,例如,如果沒有Forum實體對象這個根,就無法去修改對象狀態(tài)ForumState,F(xiàn)orumState獲得是通過Forum的getter方法獲得的。
ForumState和Forum的分離有可以使修改狀態(tài)數(shù)據(jù)(當(dāng)發(fā)一個新帖時,必須更新當(dāng)前的最新帖子為該新帖),不會影響到Forum其他元素,特別是使用事務(wù)鎖定時,不必鎖住整個對象,見"領(lǐng)域驅(qū)動設(shè)計"書籍P92。
另外,F(xiàn)orumThread和ForumMessage的關(guān)聯(lián)關(guān)系必設(shè)定成單向的,而不是雙向的,因為領(lǐng)域建模中,關(guān)聯(lián)越簡單越好。