Привет У нас (друга и я) есть разные источники (содержимое вики, комментарии на форумах, загрузка документов, источники RSS ...), о которых мы хотим сообщить в нашей будущей системе в разных выходах: Javascript LIVE PUSH (APE),почта, SMS, телефон, RSS ...
Мы думаем о шаблоне проектирования GoF Observer для нашей реализации.Является ли шаблон проектирования Observer хорошим способом для достижения этой цели?
Мы думаем о том, чтобы Observer поместил код для форматирования сообщения, подлежащего уведомлению (см. Пример 1), но, возможно, мы вернем статус в Observable для того, чтобысоздать сообщение (см. пример 2).Является ли это хорошей практикой в отношении шаблона?
, если да, какова "реальная роль" update () (метод шаблона проектирования Observer по умолчанию)?На самом деле мы этого не понимаем.
Мы нашли эти примеры в Интернете (для реализации update ())
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;
}
}
}
(...)
Они оба действительны?