嗨我们(我的一个朋友)有不同的来源(wiki内容,论坛评论,文档上传,RSS源......),我们希望在未来的系统中通知不同的来源电子邮件,短信,电话,RSS ...Observer模式的使用方法:update()方法
我们为我们的实施考虑了GoF Observer设计模式。 Observer设计模式是实现这一目标的好方法吗?
我们想想观察员将代码格式化通知的消息(参见例1),但也许我们应该以创建消息(CF例如2)返回一个状态的观测。 关于这种模式,这是一个很好的做法吗?
如果是,update()(默认Observer设计模式方法)的“真正作用”是什么?我们真的不明白。
我们发现这样的例子在网络上(进行更新()实现)
1) http://gbenoit79.blogspot.com/2011/04/design-pattern-observer.html
<?php
(...)
class ConcreteObserverA implements SplObserver
{
public function update(SplSubject $subject)
{
echo 'ConcreteObserverA received: ' . $subject->getVariable() . "\n";
}
}
(...)
2) http://www.minte9.com/kb/php-observer-pattern-example-php-programming-advanced-i1365
<?php
(...)
class DriverObserver implements Observer{
public function update(Observable $subject) {
if ($subject->driven_hours >= 8) {
$subject->need_sleep = 1;
} else {
$subject->need_sleep = 0;
}
}
}
(...)
难道他们都valids?