1.Self Encapsulate Field

          為這個field建立getting/setting method,并且只通過這些函數(shù)來訪問field.
          例:
          privte int low,high;
          boolean includes(int arg){
              return arg>=low&&arg<=high;
          }
          重構(gòu)為:
          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";
          重構(gòu)為:
          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)站導(dǎo)航:
           

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

          Copyright © 在從未放棄的路上

          主站蜘蛛池模板: 望江县| 同江市| 临桂县| 巫山县| 西充县| 兰州市| 阳原县| 南充市| 安图县| 扶沟县| 河池市| 三江| 松江区| 公主岭市| 麻城市| 双牌县| 临沭县| 来安县| 新河县| 甘孜县| 芜湖县| 固安县| 图木舒克市| 阳信县| 讷河市| 兴义市| 大新县| 沛县| 涪陵区| 额济纳旗| 八宿县| 木兰县| 铜梁县| 新营市| 定南县| 信阳市| 重庆市| 雅江县| 陆川县| 绵阳市| 治县。|