ivaneeo's blog

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

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks
          有時你會看到兩個classes過于親密,花費太多時間去探究彼此的private成分。如果這發生在兩個[人]之間,我們不必做衛道之士;但對于classes,我們希望它們嚴守清規。

          就像古代戀人一樣,過分狎昵的classes必須拆散。你可以采用Move Method(142)和Move Field(146)
          幫它們劃清界線,從而減少狎昵行經。你可以看看是否運用Change Bidirectional Association to Unidirectional(200)讓其中一個class對另一個斬斷情絲。如果兩個classes實在是情投意合,可以運用Extract Class(149)把兩者共同點提煉到一個安全地點,讓它們坦蕩地使用這個新class。或者也可以嘗試運用Hide Delegate(157)讓另一個class來為它們傳遞相思情。

          繼承(inheritance)往往造成過度親密,因為subclass對superclass的了解總是超過superclass的主管愿望。如果你覺得該讓這個孩子獨自生活了,請運用Replace Inheritance with Delegation(352)讓它離開繼承體系。
          posted on 2005-08-19 16:28 ivaneeo 閱讀(549) 評論(0)  編輯  收藏 所屬分類: refactoring-從地獄中重生
          主站蜘蛛池模板: 盈江县| 上犹县| 日土县| 南开区| 伊吾县| 遵义市| 鲜城| 池州市| 双流县| 兴业县| 玉门市| 房山区| 固阳县| 和林格尔县| 额济纳旗| 教育| 天镇县| 偏关县| 伽师县| 雅安市| 云梦县| 乌兰浩特市| 惠东县| 云和县| 新竹市| 宁明县| 石楼县| 普安县| 文成县| 灵川县| 武邑县| 许昌市| 乐亭县| 黑水县| 南投县| 五家渠市| 大同市| 霍州市| 岳普湖县| 巴林左旗| 怀柔区|