天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

PHP 設(shè)計模式之觀察者模式介紹

介紹
觀察者模式定義對象的一對多依賴,這樣一來,當(dāng)一個對象改變狀態(tài)時,它的所有依賴者都會收到通知并自動更新!
設(shè)計原則
在觀察者模式中,會改變的是主題的狀態(tài)以及觀察者的數(shù)目。用這個模式,你可以改變依賴于主題狀態(tài)的對象,卻不必改變主題。――找出程序中會變化的方面,然后將其和固定不變的方面相分離!
主題和觀察者都使用接口:觀察者利用主題的接口向主題注冊,而主題利用觀察者接口通知觀察者。這樣可以讓兩者之間運(yùn)作正常,又同時具有松耦合的優(yōu)點(diǎn)! ――針對接口編程,不針對實(shí)現(xiàn)編程!

觀察者模式利用“組合”將許多觀察者組合進(jìn)主題中。對象(觀察者――主題)之間的這種關(guān)系不是通過繼承產(chǎn)生的,而是在運(yùn)行時利用組合的方式產(chǎn)生的。 ――多用組合,少用繼承!
代碼
復(fù)制代碼 代碼如下:
<?php
/**
* 觀察者模式
* @author: Mac
* @date: 2012/02/22
*/
class Paper{ /* 主題 */
private $_observers = array();
public function register($sub){ /* 注冊觀察者 */
$this->_observers[] = $sub;
}
public function trigger(){ /* 外部統(tǒng)一訪問 */
if(!empty($this->_observers)){
foreach($this->_observers as $observer){
$observer->update();
}
}
}
}
/**
* 觀察者要實(shí)現(xiàn)的接口
*/
interface Observerable{
public function update();
}
class Subscriber implements Observerable{
public function update(){
echo "Callback/n";
}
}
//下面是測試代碼
?
/* 測試 */
$paper = new Paper();
$paper->register(new Subscriber());
//$paper->register(new Subscriber1());
//$paper->register(new Subscriber2());
$paper->trigger();


總結(jié)

當(dāng)新對象要填入的時候,只需要在主題(又叫可觀察者)中進(jìn)行注冊(注冊方式很多,你也可以在構(gòu)造的時候,或者框架訪問的接口中進(jìn)行注冊),然后實(shí)現(xiàn)代碼直接在新對象的接口中進(jìn)行。這降低了主題對象和觀察者對象的耦合度。

好的設(shè)計模式不會直接進(jìn)入你的代碼中,而是進(jìn)入你的大腦中。

php技術(shù)PHP 設(shè)計模式之觀察者模式介紹,轉(zhuǎn)載需保留來源!

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

主站蜘蛛池模板: 巨胸美乳中文在线观看 | 欧美高清video mr.sexo | 国产成人精品区在线观看 | 超碰97超碰在线视频哦 | 俄罗斯14一18处交 | a级成人免费毛片完整版 | 91精品婷婷国产综合久久8 | 久久精品国产欧美日韩99热 | 免费毛片在线视频 | 久久99这里只有精品 | 99九九99九九九视频精品 | 欧美成人亚洲高清在线观看 | 国产精品一区二区资源 | 成3d漫二区三区四区 | 色中色最新地址登陆 | 国产乱妇乱子在线播视频播放网站 | 久久久久久久久人体 | 精品久久久久中文字幕加勒比东京热 | 亚洲色欲国产免费视频 | 亚洲人成在线播放无码 | 中文字幕亚洲综合小综合在线 | 丰满人妻无码AV系列 | 2021精品乱码多人收藏 | 精品国产免费第一区二区 | 中文字幕午夜乱理片 | 亚洲人美女肛交真人全程 | 爱豆剧果冻传媒在线播放 | 无码人妻精品一区二区蜜桃色 | 国产乱子影视频上线免费观看 | 国产在线不卡 | asian极品呦女xx农村 | 手机在线观看你懂的 | 三级网站午夜三级 | 人人在线碰碰视频免费 | 人禽l交视频在线播放 视频 | 国产电影尺度 | 97超碰97资源在线观看视频 | 十八禁啪啦啪漫画 | 长泽梓黑人初解禁bdd07 | 精品一区二区三区色花堂 | 被老师按在办公桌吸奶头 |