ivaneeo's blog

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

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks

          常用鏈接

          留言簿(34)

          我參與的團隊

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          很明顯看出來,htmlStatement()和statement()是不同的。現在,我應該脫下[重構]的帽子,戴上[添加功能]的帽子,戴上[添加功能]的帽子。我可以像下面這樣編寫htmlStatement(),并添加相應測試:

          public String htmlStatement() {
              Enumeration rentals = _rentals.elements();
              String result = "<H1>Rental Record for <EM> " + getName() + "</EM></H1><P>\n";
              while(rentals.hasMoreElements()) {
                 Rental each = (Rental)rentals.nextElement();    //取得一筆租借記錄

                    result += each.getMovie().getTitle() + ":" +
                       String.valueOf(each.getCharge()) + "<BR>\n";
              }
          //   add footer lines(結尾打印)
              result += "<P>You owe <EM>" + String.valueOf(getTotalCharge()) + "</EM><P> \n";
              result += "On this rental you earned <EM>" + String.valueOf(getTotalfrequentRenterPoints()) +
                 "</EM>frequent renter points<P>";
              return result;
          }

          通過計算邏輯的提煉,我可以完成一個htmlStatement(),并復用(reuse)原本statement()內的所有計算。我不必剪剪貼貼,所以如果計算規則發生改變,我只需在程序中做一處修改。
          posted on 2005-08-15 14:29 ivaneeo 閱讀(167) 評論(0)  編輯  收藏 所屬分類: refactoring-從地獄中重生
          主站蜘蛛池模板: 宁津县| 鄂托克前旗| 兴城市| 安福县| 启东市| 阳朔县| 宜都市| 横山县| 汉源县| 神木县| 庄浪县| 沈阳市| 昌宁县| 怀安县| 宝丰县| 芒康县| 张掖市| 镇沅| 收藏| 湟中县| 葵青区| 阿勒泰市| 西畴县| 桑植县| 姜堰市| 敦化市| 朔州市| 宝兴县| 闵行区| 昌吉市| 自贡市| 临沭县| 台东市| 溆浦县| 商南县| 五大连池市| 平定县| 乐山市| 吉隆县| 和静县| 西乌|