新聞中心
這篇文章主要介紹了php如何實(shí)現(xiàn)觀察者模式,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

太和ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來市場(chǎng)廣闊!成為成都創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!
php實(shí)現(xiàn)觀察者模式的方法:首先創(chuàng)建一個(gè)PHP示例文件;然后實(shí)現(xiàn)觀察者向主題注冊(cè);最后對(duì)注冊(cè)樹進(jìn)行遍歷,讓每個(gè)對(duì)象實(shí)現(xiàn)其接口提供的操作即可。
PHP實(shí)現(xiàn)觀察者模式
“觀察者模式”的觀察者三個(gè)字信息量很大。玩過很多網(wǎng)絡(luò)游戲的童鞋們應(yīng)該知道,即便是斗地主,除了玩家,還有一個(gè)角色叫“觀察者"。在我們今天他談?wù)摰哪J皆O(shè)計(jì)中,觀察者也是如此。首先,要有一個(gè)“主題”。只有有了一個(gè)主題,觀察者才能搬著小板凳兒聚在一堆。其次,觀察者還必須要有自己的操作。否則你聚在一堆兒沒事做也沒什么意義。
從面向過程的角度來看,首先是觀察者向主題注冊(cè),注冊(cè)完之后,主題再通知觀察者做出相應(yīng)的操作,整個(gè)事情就完了。
從面向?qū)ο蟮慕嵌葋砜?,主題提供注冊(cè)和通知的接口,觀察者提供自身操作的接口。(這些觀察者擁有一個(gè)同一個(gè)接口。)觀察者利用主題的接口向主題注冊(cè),而主題利用觀察者接口通知觀察者。耦合度相當(dāng)之低。
如何實(shí)現(xiàn)觀察者注冊(cè)?通過前面的注冊(cè)者模式很容易給我們提供思路,把這些對(duì)象加到一棵注冊(cè)樹上就好了嘛。如何通知?這就更簡單了,對(duì)注冊(cè)樹進(jìn)行遍歷,讓每個(gè)對(duì)象實(shí)現(xiàn)其接口提供的操作
_observers[]=$observer;
}
public function notify(){
foreach ($this->_observers as $observer) {
$observer->watch();
}
}
}
// 觀察者
class Cat implements Observer{
public function watch(){
echo "Cat watches TV
";
}
}
class Dog implements Observer{
public function watch(){
echo "Dog watches TV
";
}
}
class People implements Observer{
public function watch(){
echo "People watches TV
";
}
}
// 應(yīng)用實(shí)例
$action=new Action();
$action->register(new Cat());
$action->register(new People());
$action->register(new Dog());
$action->notify();
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“php如何實(shí)現(xiàn)觀察者模式”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!
網(wǎng)站標(biāo)題:php如何實(shí)現(xiàn)觀察者模式
分享網(wǎng)址:http://www.dlmjj.cn/article/ppgjsg.html


咨詢
建站咨詢
