こんにちは(私の友人)は、将来のシステムで別の方法で通知したい異なるソース(wikiコンテンツ、フォーラムコメント、ドキュメントアップロード、RSSソース...)を持っています出典:Javascript LIVE PUSH(APE)、メール、SMS、電話、RSS ...オブザーバーパターンの使用:update()メソッド
私たちの実装のためのGoF Observerデザインパターンについて考えてみましょう。 Observerデザインパターンは、これを実現する良い方法ですか?
メッセージをフォーマットするためのコードを通知する(例1を参照)と考えていますが、メッセージを作成するためにステータスをObservableに返す必要があります(例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ていますか?