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

          領域模型不是一副具體的圖,它是那副圖要極力去傳達的那個思想。

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

          服務:    1. 服務執行的操作涉及一個領域概念,這個領域概念通常不屬于一個實體或者值對象。 
                          2. 被執行的操作涉及到領域中的其他的對象。 
                          3.操作是無狀態的。


          軟件代碼應該具有高層次的內聚性和低層次的耦合度:最常用到的兩個是通信性內聚和功能性內聚。通信性內聚通常在模塊的部件操作相同的數據時使用。把它們分到一組很有意義,因為它們之間存在很強的關聯性。功能性內聚在模塊中的部件協同工作以完成定義好 的任務時使用。


          聚合是一個用來定義對象所有權和邊界的領域模式。工廠和資源庫是另外的兩個設計模式,用來幫助我們處 
          理對象的創建和存儲問題。聚合:是針對數據變化可以考慮成一個單元的一組相關的對象。

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

          約束方法化:將約束置于一個單獨的方法讓它顯示化有很多優點。它很容易閱 
          讀,如果約束變得更復雜,這可以為向該方法增加更多邏輯提供增長空間。

          感謝infoq!

           
           
           
           
           
           
           
           
           

           

           

          posted @ 2008-05-27 10:07 自由人 閱讀(257) | 評論 (0)編輯 收藏
          主站蜘蛛池模板: 天峻县| 乌兰浩特市| 宣威市| 东明县| 南京市| 聂荣县| 灌南县| 响水县| 曲靖市| 岱山县| 汤阴县| 福安市| 资源县| 嘉祥县| 宁蒗| 台北县| 恭城| 玛沁县| 青川县| 上杭县| 肃北| 宜良县| 通化县| 于田县| 高要市| 大洼县| 台江县| 溧阳市| 普格县| 石景山区| 岫岩| 荣成市| 普宁市| 隆德县| 海安县| 海盐县| 登封市| 平果县| 株洲县| 井冈山市| 凤凰县|