梦幻之旅

DEBUG - 天道酬勤

   :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  671 随笔 :: 6 文章 :: 256 评论 :: 0 Trackbacks
观察模式原生实现:
1.主题接口:
package observer.natives;

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

2.主题实现类:
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.观察者实现类
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.测试类
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 阅读(270) 评论(0)  编辑  收藏 所属分类: Design Patterns

只有注册用户登录后才能发表评论。


网站导航: