设计模式笔记之三 观察者模式

 
 
import java.util.hashmap;import java.util.map;/** * 主题类,被观察者对象 * */public class subject {		private map<observer, observer> mapobserver = new hashmap<observer, observer>();		/**	 * 注册方法,表示订阅	 * @param observer	 */	public void register(observer observer) {				mapobserver.put(observer, observer);	}		/**	 * 取消订阅	 * @param observer	 */	public void unregister(observer observer) {				mapobserver.remove(observer);	}		/**	 * 通知所有观察者	 */	public void notifyallobserver() {				for (map.entry<observer, observer> entry : mapobserver.entryset()) {						entry.getvalue().update();		}	}}/** * 观察者接口 */public interface observer {		public void update();}/** * 观察者1 */public class concreteobserver1 implements observer {	@override	public void update() {				system.out.println("concreteobserver1 update...");	}	}/** * 观察者2 */public class concreteobserver2 implements observer {	@override	public void update() {				system.out.println("concreteobserver2 update...");	}	}/** * 观察者模式的使用 */public class testobserver {	/**	 * @param args	 */	public static void main(string[] args) {				subject subject = new subject();				observer observer1 = new concreteobserver1();		observer observer2 = new concreteobserver2();				subject.register(observer1);		subject.register(observer2);				subject.notifyallobserver();			}}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值