1.Self Encapsulate Field

          為這個field建立getting/setting method,并且只通過這些函數來訪問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
          將一個數據項變成一個對象。
          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
          以對象替換數組,對于數組中的每個元素,以一個值域表示之。
          例:
          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

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

          Copyright © 在從未放棄的路上

          主站蜘蛛池模板: 营口市| 平度市| 葫芦岛市| 涿鹿县| 洪洞县| 海宁市| 子长县| 白山市| 普格县| 志丹县| 睢宁县| 宾阳县| 武宣县| 博客| 兴安盟| 齐齐哈尔市| 鹰潭市| 商都县| 乌拉特前旗| 宁化县| 长兴县| 山东| 德州市| 阳新县| 庄河市| 会东县| 永春县| 玉溪市| 五莲县| 安新县| 道孚县| 明光市| 民乐县| 巨野县| 罗江县| 宕昌县| 永德县| 千阳县| 凉山| 泽州县| 石景山区|