ivaneeo's blog

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

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks
          所謂Data Class是指:它們擁有一些值域(fields),以及用于訪問(讀寫)這些值域的函數,除此之外一無長物。這樣的classes只是一種[不會說話的 數據容器],它們幾乎一定被其他classes過分細瑣地操控著。這些classes早期可能擁有public值域,果真如此你應該在別人注意到它們之 前,立刻運用Encapsulate Field(206)將它們封裝起來。如果這些classes內含容器類的值域(collection fields),你應該檢查它們是不是得到了恰當的封裝;如果沒有,就運用Encapsulate Collection(208)把它們封裝起來。對于那些不該被其他classes修改的值域,請運用Remove Setting Method(300)。

          然后,找出這些[取值/設值]函數(getting and setting methods)被其他classes運用的地點。嘗試以Move Method(142)把那些調用行為搬移到Data Class來。如果無法搬移整個函數,就運用Extract Method(110)產生一個可被搬移的函數。不久之后你就可以運用Hide Method(303)把這些[取值/設值]函數隱藏起來了。
          posted on 2005-08-19 17:05 ivaneeo 閱讀(533) 評論(0)  編輯  收藏 所屬分類: refactoring-從地獄中重生
          主站蜘蛛池模板: 洛川县| 四川省| 榆中县| 九台市| 方山县| 大同市| 丹巴县| 双峰县| 庆阳市| 利辛县| 惠东县| 岑巩县| 安康市| 河津市| 江西省| 福贡县| 明星| 白朗县| 若羌县| 朝阳区| 达尔| 普洱| 江口县| 独山县| 北安市| 乐都县| 绿春县| 徐州市| 玉树县| 大安市| 洪雅县| 铅山县| 榕江县| 肃南| 锡林郭勒盟| 曲靖市| 桓仁| 黄骅市| 阜城县| 岢岚县| 青浦区|