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)  編輯  收藏


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


          網站導航:
           

          導航

          統計

          常用鏈接

          留言簿

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 故城县| 濮阳市| 天全县| 海门市| 克山县| 图们市| 金乡县| 曲靖市| 航空| 霍州市| 当涂县| 南召县| 千阳县| 山丹县| 岚皋县| 山东| 西和县| 财经| 南华县| 武鸣县| 南陵县| 临夏县| 广南县| 九江市| 新竹县| 兴仁县| 滁州市| 安岳县| 昌图县| 香格里拉县| 美姑县| 和顺县| 沂水县| 盈江县| 沛县| 东至县| 平和县| 嘉黎县| 格尔木市| 彰化县| 吉木乃县|