观察者模式总结

个人理解,观察者模式,就是当一个动作发生,就会有一个与其相关的程序作出响应。

或者简单的说,把对象A注册到对象B中,当B中的某个方法被调用的时候,这个方法会调用A中的某个方法

应用范例,当你使用微博,有人@你,后台就会因为数据变动,给你发个通知。

还有一些重要软件一般会有一个或多个守护进程,当主进程被强制关闭,守护进程会立即激活主进程

<?php
	/*
		观察者模式,就是当你在街上看妹子,
		看到了苍老师,你是一个观察者,苍老师是一个被观察对象
		苍老师看你小伙挺帅,给了你一个kiss,你并为此做出一些反应,
		这就是一个观察者模式发生的全过程
	*/

	//观察者接口
	interface Observer{
		function daJiao();
	}
	//被观察者
	interface Subject{
		function addHeart($obj);
	}

	//你码了一天的代码,来到街上看妹子
	class You implements Observer{
		function daJiao(){
			echo "Ya mei dei ~";
		}
	}
	//我靠 那不是苍老师!
	class CangLaoShi implements Subject{
		private $heart = "";
		//你的惊呼引起了她的注意,她对你一见钟情,于是你就进入了她婶婶的脑海里
		function addHeart($obj){
			$this->heart = $obj;
		}
		function kissYou(){
			//苍老师叫你过去,然后。。。
			echo "Hey Boy Come Here! 么么哒 ~ <br/>";
			//她心中的你觉得好爽,于是大叫
			$this->heart->daJiao();
		}
	}

	//new一个苍老师
	$CangLaoShi = new CangLaoShi();
	//将你放在她心里
	$CangLaoShi->addHeart(new You());
	//让苍老师来亲你
	$CangLaoShi->kissYou();


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值