夢(mèng)幻之旅

          DEBUG - 天道酬勤

             :: 首頁 :: 新隨筆 :: 聯(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)類:
          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)類
          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è)試類
          package observer.natives;

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

          }

          posted on 2011-07-27 01:09 HUIKK 閱讀(283) 評(píng)論(0)  編輯  收藏 所屬分類: Design Patterns
          主站蜘蛛池模板: 呼图壁县| 东海县| 射洪县| 大厂| 松潘县| 贵阳市| 南开区| 靖西县| 新巴尔虎左旗| 洪泽县| 莱州市| 阳信县| 临澧县| 罗田县| 宁津县| 乐清市| 浑源县| 安丘市| 周宁县| 客服| 晋宁县| 四川省| 汝阳县| 德惠市| 那曲县| 石首市| 五原县| 从化市| 四子王旗| 庆城县| 安徽省| 永川市| 五大连池市| 峨眉山市| 鄄城县| 河池市| 云南省| 连南| 磴口县| 新巴尔虎左旗| 腾冲县|