[原创]设计模型探索C2-Observer parttern之饲机而动

[原创]设计模型探索C2-Observer parttern之饲机而动
观察模式原生实现:
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();
        
    }

}

你可能感兴趣的:([原创]设计模型探索C2-Observer parttern之饲机而动)