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();
}
}
}
测试代码
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收到
顾名思义:我们好多客户端同时监控一个服务 如果服务发生了变化,那么我们所有客户端对应做出响应.
这样我们的代码就动起来了
=========代码=================
/*
* @类名 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收到
相关文章推荐
- java设计模式-观察者模式
- Java设计模式:单态模式,工厂模式,代理模式,观察者模式示例
- java常用类库续3(比较器Comparable、Comparator、观察者设计模式、正则表达式、定时调度)
- java设计模式:观察者模式(Observer)
- JAVA设计模式-观察者模式简单例子
- 使用观察者模式实现Java应用程序设计MVC模式
- Java设计模式_行为模式_观察者模式
- 设计模式---观察者模式(Observer Pattern with java)
- Java设计模式—观察者模式(Observer pattern)
- java 设计模式-观察者模式
- Java设计模式 -- 观察者模式(push方式)
- All About JAVA 关于设计模式中的“观察者模式”
- java设计模式_观察者模式
- Java设计模式-----Observer观察者模式
- Java设计模式之Observer 观察者模式
- Java设计模式 -- 观察者模式(pull方式)
- Java设计模式 Design Pattern:观察者模式 Observer Pattern
- Java设计模式 Design Pattern:观察者模式 Observer Pattern
- 【设计模式】observer观察者模式:模拟java.awt.Button事件监听。
- 设计模式---观察者模式(Observer Pattern with java)