夢(mèng)幻之旅

          DEBUG - 天道酬勤

             :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            671 隨筆 :: 6 文章 :: 256 評(píng)論 :: 0 Trackbacks
          觀察模式原生實(shí)現(xiàn):
          1.主題接口:
          package observer.natives;

          public interface Subject
          {   
              
          public void addObserver(Observer observer);
              
              
          public void notifying();
          }

          2.主題實(shí)現(xiàn)類(lèi):
          package observer.natives;

          import java.util.ArrayList;
          import java.util.List;

          public class SubjectImpl implements Subject
          {   
              
          private List<Observer> observerLst = new ArrayList<Observer>();
              
              
          public void addObserver(Observer observer)
              
          {
                  observerLst.add(observer);
              }

              
              
          public void notifying()
              
          {
                  
          for(Observer observer : observerLst)
                  
          {
                      observer.updateData();
                  }

              }

              
          }

          3.觀察者接口
          package observer.natives;

          public interface Observer
          {   
              
          public void updateData();
          }


          4.觀察者實(shí)現(xiàn)類(lèi)
          package observer.natives;

          public class ObserverImpl implements Observer
          {   
              
          private String name;
              
              
          public ObserverImpl(String name)
              
          {
                  
          this.name = name;
              }


              
          public void updateData()
              
          {
                  System.out.println(name 
          + " 收到通知");
              }

          }


          5.測(cè)試類(lèi)
          package observer.natives;

          public class Test
          {   
              
          public static void main(String[] args)
              
          {
                  Subject subject 
          = new SubjectImpl();
                  
                  subject.addObserver(
          new ObserverImpl("小趙"));
                  subject.addObserver(
          new ObserverImpl("小錢(qián)"));
                  subject.addObserver(
          new ObserverImpl("小孫"));
                  subject.addObserver(
          new ObserverImpl("小李"));
                  
                  subject.notifying();
                  
              }

          }

          posted on 2011-07-27 01:09 HUIKK 閱讀(274) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): Design Patterns
          主站蜘蛛池模板: 阿克陶县| 叶城县| 庆城县| 行唐县| 祁阳县| 信丰县| 宁夏| 雷州市| 团风县| 宜春市| 敦煌市| 华容县| 缙云县| 安龙县| 晴隆县| 和静县| 凤城市| 垦利县| 志丹县| 临汾市| 仙居县| 双辽市| 兰考县| 宁国市| 济宁市| 宜都市| 杭锦后旗| 龙口市| 衡水市| 靖远县| 宽甸| 尼玛县| 阳新县| 涡阳县| 敦煌市| 公主岭市| 邵东县| 黑河市| 安仁县| 德钦县| 巍山|