java设计模式之观察者模式

来源:互联网 发布:java rmi 漏洞解决办法 编辑:程序博客网 时间:2024/06/07 07:14

=============观察者模式===============

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

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

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

/* * @类名 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收到


0 0
原创粉丝点击