您的位置:首页 > 编程语言 > Java开发

java设计模式之观察者模式

2016-09-12 11:22 399 查看
=============观察者模式===============

顾名思义:我们好多客户端同时监控一个服务  如果服务发生了变化,那么我们所有客户端对应做出响应.

这样我们的代码就动起来了

=========代码=================

/*
* @类名 Server.java
* @作者 zx
* @创建日期 2016年9月9日
* @描述 抽象被观察者
*/
public abstract class Client {

//观察者聚集地
private List<Server> list = new ArrayList<Server>();

//新增观察者
public void addClient(Server client){
list.add(client);
}
//移除观察者
public void removeClient(Server client){
list.remove(client);
}
//通知所有观察者
public void notifyClients(){
for (Server client : list) {
client.print();
}
}
}
/**
* @类名 Server.java
* @作者 zx
* @创建日期 2016年9月12日
* @描述 抽象观察者
* @版本 V 1.0
*/
public interface Server {
public void print();
}
/**
* @类名 Server001.java
* @作者  zx
* @创建日期 2016年9月12日
* @描述 观察者简单实现类
* @版本 V 1.0
*/
public class Server001 implements Server {

public void print() {
System.out.println("server001收到");
}

}


测试代码
public class TestMain {
public static void main(String[] args) {
Client001 client001 = new Client001();
client001.addClient(new Server001());
client001.addClient(new Server002());
client001.addClient(new Server003());
client001.change();
}
}


结果:
Client001变了

server001收到

server002收到

server003收到
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: