ivaneeo's blog

          自由的力量,自由的生活。

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks

          常用鏈接

          留言簿(32)

          我參與的團隊

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          動機(Motivation)
          在許多系統(tǒng)中,你都可以對對象做一個有用的分類:reference object和value objects。前者就像[客戶]、[帳戶]這樣的東西,每個對象都代表真實世界中的一個實物,你可以直接以相等操作符(==,用來檢驗同一性, identity)檢查兩個對象是否相等。后者則是像[日期]、[錢]這樣的東西,它們完全由其所含的數(shù)據(jù)值來定義,你并不在意副本的存在;系統(tǒng)中或許存 在成百上千個內容為“1/1/2000”的[日期]對象。當然,你也需要知道兩個value objects是否相等,所以你需要覆寫equals()(以及hashCode())。


          要在reference object和value object之間做選擇有時并不容易。有時侯,你會從一個簡單的value object開始,在其中保存少量不可修改的數(shù)據(jù)。而后,你可能會希望給這個對象加入一些可修改數(shù)據(jù),并確保對任何一個對象的修改都能影響到所有引用此一對象的地方。這時候你就需要將這個對象變成一個reference object。
          posted on 2005-09-01 10:37 ivaneeo 閱讀(179) 評論(0)  編輯  收藏 所屬分類: refactoring-從地獄中重生
          主站蜘蛛池模板: 太湖县| 洞头县| 麦盖提县| 樟树市| 涡阳县| 乌鲁木齐市| 宁武县| 桂东县| 尚义县| 莆田市| 温泉县| 四平市| 长泰县| 政和县| 新昌县| 松原市| 保德县| 元谋县| 德令哈市| 稻城县| 福鼎市| 乐亭县| 兰州市| 清水河县| 南宫市| 铜梁县| 永安市| 改则县| 冷水江市| 双辽市| 安福县| 大荔县| 枣庄市| 宾川县| 怀来县| 双鸭山市| 应城市| 桐柏县| 江北区| 吴川市| 瓮安县|