四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

php中的觀察者模式

觀察者模式
復制代碼 代碼如下:
interface Subject
{
public function Attach($Observer); //添加觀察者
public function Detach($Observer); //踢出觀察者
public function Notify(); //滿足條件時通知觀察者
public function SubjectState($Subject); //觀察條件
}
class Boss Implements Subject
{
public $_action;
private $_Observer;
public function Attach($Observer)
{
$this->_Observer[] = $Observer;
}
public function Detach($Observer)
{
$ObserverKey = array_search($Observer, $this->_Observer);
if($ObserverKey !== false)
{
unset($this->_Observer[$ObserverKey]);
}
}
public function Notify()
{
foreach($this->_Observer as $value )
{
$value->Update();
}
}
public function SubjectState($Subject)
{
$this->_action = $Subject;
}
}
abstract class Observer
{
protected $_UserName;
protected $_Sub;
public function __construct($Name,$Sub)
{
$this->_UserName = $Name;
$this->_Sub = $Sub;
}
public abstract function Update(); //接收通過方法
}
class StockObserver extends Observer
{
public function __construct($name,$sub)
{
parent::__construct($name,$sub);
}
public function Update()
{
echo $this->_Sub->_action.$this->_UserName." 你趕快跑...";
}
}
$huhansan = new Boss(); //被觀察者
$gongshil = new StockObserver("三毛",$huhansan); //初始化觀察者
$huhansan->Attach($gongshil); //添加一個觀察者
$huhansan->Attach($gongshil); //添加一個相同的觀察者
$huhansan->Detach($gongshil); //踢出基中一個觀察者
$huhansan->SubjectState("警察來了"); //達到滿足的條件
$huhansan->Notify(); //通過所有有效的觀察者

可以粗略的理解為,一個類(我們稱之為被觀察者),這個類繼承了一個被觀察者容器的借口
該接口中的方法有:添加觀察者,踢出觀察者,提醒觀察者,和觀察條件
添加觀察者即相當于把一些類注冊到這個容器之中,當然這些類的前提是需要有一個相應被觀察者反應信息的方法,
被觀察者容器通過接受不同的觀察條件參數來判斷是否需要提醒所有本容器中的已經注冊過的觀察者是否相應
一旦滿足提醒條件,提醒容器內所有觀察者讓其調用相應方法并且實現對應觀察者實例的變化
暫且理解到此!

php技術php中的觀察者模式,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 家庭琐事电影| 1980属猴多少岁了| 请假单| 中国最贵的10大香烟| 布拉芙大尺度未删减版| 桑叶电影| 张志忠主演电视剧| 庞敏| 真实游戏电影无删减完整版| 2014春节联欢晚会| 天使之恋电影| 达利园广告| 俺去也电影网| 故乡原风景纯音乐 陶笛| 追捕演员表| 祝福语生日| angela white| 天使之恋电影| 日本电影致命诱惑| 电影井冈山| 爱情电影网aqdy| 王茜华泳装照片高清| 爱的重生| 少年歌行电视剧演员表| 拔萝卜电视剧视频高清完整版 | 女同视频网站| 抖音网站入口| 雪天使演员表介绍| cope消除| busty buffy| 梅兰尼·格里菲斯| trainspotting| 铃木京香| 世界上最有杀气的国歌| 欧美性高清aviu88| 口舌 — 视频 | vk| 爱在西元前简谱| 免费取姓名| 张绍荣| 电影《uhaw》免费观看| 赵国华|