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 楊軍威 閱讀(140) 評論(0)  編輯  收藏


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


          網站導航:
           

          導航

          統計

          常用鏈接

          留言簿

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 特克斯县| 郎溪县| 西盟| 扎鲁特旗| 隆尧县| 南涧| 锦州市| 合江县| 武宁县| 巫山县| 古交市| 淮阳县| 思南县| 勐海县| 洛南县| 师宗县| 文昌市| 吉隆县| 西平县| 永泰县| 航空| 苗栗市| 策勒县| 平果县| 通榆县| 丹阳市| 闵行区| 永清县| 宾川县| 淮南市| 普安县| 慈溪市| 莎车县| 进贤县| 乐业县| 祥云县| 台北市| 牙克石市| 彰化市| 蒙山县| 手机|