posts - 1,  comments - 0,  trackbacks - 0
            2008年5月27日

          領(lǐng)域模型不是一副具體的圖,它是那副圖要極力去傳達(dá)的那個(gè)思想。

          實(shí)體:有一類對象看上去好像擁有標(biāo)識符,它的標(biāo)識符在歷經(jīng)軟件的各種狀態(tài)后仍然保持一致。
          值對象:如果值對象是可共享的,那么它們應(yīng)該是不可變的。值對象應(yīng)該保持盡量的簡單。當(dāng)其他當(dāng)事人需要一個(gè)值對象時(shí),可以簡單地傳遞值,或者創(chuàng)建一個(gè)副本。

          服務(wù):    1. 服務(wù)執(zhí)行的操作涉及一個(gè)領(lǐng)域概念,這個(gè)領(lǐng)域概念通常不屬于一個(gè)實(shí)體或者值對象。 
                          2. 被執(zhí)行的操作涉及到領(lǐng)域中的其他的對象。 
                          3.操作是無狀態(tài)的。


          軟件代碼應(yīng)該具有高層次的內(nèi)聚性和低層次的耦合度:最常用到的兩個(gè)是通信性內(nèi)聚和功能性內(nèi)聚。通信性內(nèi)聚通常在模塊的部件操作相同的數(shù)據(jù)時(shí)使用。把它們分到一組很有意義,因?yàn)樗鼈冎g存在很強(qiáng)的關(guān)聯(lián)性。功能性內(nèi)聚在模塊中的部件協(xié)同工作以完成定義好 的任務(wù)時(shí)使用。


          聚合是一個(gè)用來定義對象所有權(quán)和邊界的領(lǐng)域模式。工廠和資源庫是另外的兩個(gè)設(shè)計(jì)模式,用來幫助我們處 
          理對象的創(chuàng)建和存儲問題。聚合:是針對數(shù)據(jù)變化可以考慮成一個(gè)單元的一組相關(guān)的對象。

          工廠:幫助封裝復(fù)雜的對 象創(chuàng)建過程,它就是工廠 (Factory)
          資源庫:資源庫會保存對某些對象的引用。當(dāng)一個(gè)對象被創(chuàng)建出來時(shí),它可以被保存到資源庫中,然后以后使用時(shí)可從資源庫中檢索到。如果客戶程序從資源庫中請求一個(gè)對象,而資源庫中并沒有它,就會從存儲介質(zhì)中獲取它。換種說法是,資源庫作為一個(gè)全局的可訪問對 象的存儲點(diǎn)而存在。
          重構(gòu):重構(gòu)是不改變應(yīng)用行為而重新設(shè)計(jì)代碼以讓它更好的過程。
          簡化的建模:關(guān)于建模的第一件事是閱讀業(yè)務(wù)規(guī)范,從中尋找名詞和動詞。名詞被轉(zhuǎn)換成類,而動詞則成為方法。
          最好的實(shí)現(xiàn)過程的方式是使用服務(wù)。其他的處理過程的不同的方式如,將算法封裝進(jìn)一個(gè)策略對象。

          約束方法化:將約束置于一個(gè)單獨(dú)的方法讓它顯示化有很多優(yōu)點(diǎn)。它很容易閱 
          讀,如果約束變得更復(fù)雜,這可以為向該方法增加更多邏輯提供增長空間。

          感謝infoq!

           
           
           
           
           
           
           
           
           

           

           

          posted @ 2008-05-27 10:07 自由人 閱讀(257) | 評論 (0)編輯 收藏
          僅列出標(biāo)題  
          主站蜘蛛池模板: 轮台县| 安远县| 蒙自县| 陈巴尔虎旗| 资阳市| 南昌市| 舞阳县| 大连市| 尉氏县| 高雄县| 富阳市| 兴国县| 上栗县| 河曲县| 中阳县| 通化县| 额尔古纳市| 湖南省| 宜章县| 徐汇区| 吉林省| 庄浪县| 大厂| 西林县| 马鞍山市| 喀喇沁旗| 阿克| 青岛市| 墨玉县| 渑池县| 德昌县| 乌拉特前旗| 虞城县| 赤水市| 嘉义市| 龙泉市| 大悟县| 广元市| 博罗县| 芒康县| 郁南县|