1.Self Encapsulate Field

          為這個field建立getting/setting method,并且只通過這些函數(shù)來訪問field.
          例:
          privte int low,high;
          boolean includes(int arg){
              return arg>=low&&arg<=high;
          }
          重構為:
          private int low,high;
          boolean includes(int arg){
              return arg>=getLow()&&arg<=getHigh();
          }
          int getLow(){return low;}
          int getHigh(){return high;}

          2.Replace Data Value with Object
          將一個數(shù)據(jù)項變成一個對象。
          3.Change Value to Reference
          將這個實值對象變成一個引用對象。
          4.Change Reference to Value
          將一個引用對象變成實值對象。
          例:
          Class Currency{
          private String code;
          public String getCode()}
              return code;
          }
          private Currency(String code){
              this.code=code;
          }
          }
          5.Replace Array with Object
          以對象替換數(shù)組,對于數(shù)組中的每個元素,以一個值域表示之。
          例:
          String[] row=new String[3];
          row[0]="Liverpool";
          row[1]="15";
          重構為:
          Performance row=new Performance();
          row.setName("Liverpool");
          row.setWins("15");
          6.Duplicate Observed Data
          7.Change Unidirectional Association to Bidirectional
          8.Change Bidirectional Association to Unidirectional

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導航:
           

          posts - 9, comments - 0, trackbacks - 0, articles - 3

          Copyright © 在從未放棄的路上

          主站蜘蛛池模板: 吉木乃县| 喀什市| 新龙县| 西吉县| 娄烦县| 龙陵县| 石楼县| 上饶县| 曲靖市| 凤山市| 六安市| 嘉禾县| 蒙阴县| 安陆市| 珠海市| 京山县| 社旗县| 开阳县| 南部县| 新宁县| 永康市| 青田县| 海淀区| 辛集市| 夏邑县| 天长市| 大宁县| 岐山县| 双柏县| 昭平县| 夏邑县| 宝兴县| 平江县| 四川省| 临城县| 莱阳市| 盐津县| 乌恰县| 阿尔山市| 石景山区| 明水县|