大白话的问一下观察者模式
一直知道laravel有一个观察者模式,可是一直没看懂什么意思,也不知道在哪运用上,所以想大白话来问一下观察者模式,不知道是不是这么回事;
比如A是一个观察者,然后他已经有B、C、D的电话号码,和一个电话;
然后B、C、D都是观察者下面的类,然后他们都有A观察者的电话号码和一个电话;
如果给要执行一个事情,是不是我只要告诉B了,然后B就执行方法,然后打电话给A,然后A就根据已有的电话号码,挨个打电话通知所有人,噢,有人执行了啥啥啥,你们都要执行一次。
逻辑大概是:
A:
A
----B电话号码 // public function AAA(Observer $Observer);
----C电话号码 // public function AAA(Observer $Observer);
----D电话号码 // public function AAA(Observer $Observer);
-------电话 // public function notify();
B、C、D:
// 继承A ,大概就是有A的电话号码的意思。
// 函数方法
public function AAA($xxx)
{
...
}
// 打电话 - 通知
public function notify()
{
...
}
调用
$observer1 = new B(); // new一下B
$Subject->AAA('xxx'); // 执行一个事件
$Subject->notify(); // 告诉他通知一下
// 那么这个位置,是不是只要B执行了一下。B就会通知A。然后A就会告诉C和D。你们都要执行一下XXX事件?
话说我这么白话文的说。是不是正确的?有什么地方是不正确的吗?
这是不是就是观察者的处于?
splobserver splsubject 了解一下?使用一下吧.看再多理论不如写几次来的实在.