夢(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)類:
          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
          主站蜘蛛池模板: 青龙| 阿瓦提县| 威海市| 垦利县| 泰和县| 土默特左旗| 枣强县| 老河口市| 措勤县| 新巴尔虎右旗| 龙南县| 湘潭市| 蒲江县| 银川市| 黄大仙区| 新巴尔虎右旗| 洪雅县| 清新县| 云梦县| 唐河县| 咸丰县| 嘉定区| 鸡东县| 三明市| 桃园县| 临潭县| 洛川县| 新蔡县| 启东市| 乐清市| 贞丰县| 都昌县| 高台县| 大丰市| 名山县| 吉木萨尔县| 咸宁市| 年辖:市辖区| 莒南县| 孝感市| 彭州市|