java學習

          java學習

           

          設計模式之模板模式

          概述:
          定義一個操作中的算法的骨架,而將一些步驟延遲到子類中。
          TemplateMethod使得子類可以不改變一個算法的結構即可重定義該算法的某些特定步驟。
          適用性:
          1.一次性實現一個算法的不變的部分,并將可變的行為留給子類來實現。

              2.各子類中公共的行為應被提取出來并集中到一個公共父類中以避免代碼重復。
                首先識別現有代碼中的不同之處,并且將不同之處分離為新的操作。
                最后,用一個調用這些新的操作的模板方法來替換這些不同的代碼。
          例子如下:模板類:
          public abstract class Template {
               public abstract void print();
                  
                  public void update() {
                      System.out.println("公共的代碼");
                     System.out.println("下面是子類各自實現的代碼");
                          print();
                      
                  }
          }
          模板類的子類:
          public class TemplateConcrete extends Template{
                @Override
                  public void print() {
                      System.out.println("這是子類的實現");
                  }

          }
          測試類
          public class Test {
              public static void main(String[] args) {
                  Template temp = new TemplateConcrete();
                  temp.update();
              }

          }

          posted on 2013-04-18 16:04 楊軍威 閱讀(141) 評論(0)  編輯  收藏


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


          網站導航:
           

          導航

          統計

          常用鏈接

          留言簿

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 休宁县| 潼关县| 宁远县| 景东| 永胜县| 武邑县| 清丰县| 昭平县| 松桃| 延寿县| 东光县| 乐清市| 桐乡市| 东乌珠穆沁旗| 乌拉特前旗| 成武县| 沅江市| 西峡县| 巫溪县| 红河县| 海口市| 长汀县| 峨边| 德庆县| 鹰潭市| 奉贤区| 柏乡县| 辉县市| 鄂托克旗| 大足县| 台南市| 潢川县| 曲松县| 临海市| 遵化市| 阿荣旗| 资溪县| 嘉禾县| 蒲江县| 古蔺县| 宜宾县|