sábado, 21 de abril de 2012

observer

Implementação do design patterns observer em php, essa é a classe principal que escrevi para demonstrar a aplicação desse padrão na prática, depois coloco as outras classes.

include_once 'sujeito.php';
include_once 'Observador.php';
class dadosTempo implements sujeito {
private $observadores = array();
private $temperatura;
private $umidade;
private $pressao; 
public function registrarObservador($obs) {
$this->observadores[] = $obs;
}
public function removerObservador($obs) {
foreach($this->observadores as $key => $val) {
if ($val == $obs) {
unset($this->observadores[$key]);
}
}
}
public function notificarObservador(){
$qtd = count($this->observadores);
for($i=0;$i<$qtd;$i++){
$novo = $this->observadores[$i];
$novo->update($this->temperatura,$this->umidade,$this->pressao);
}
}
public function setMedicoes($temp, $umidade, $pressao){
$this->temperatura = $temp;
$this->umidade = $umidade;
$this->pressao = $pressao;
$this->notificarObservador();
}

public function getMedicoes(){
echo "Temperatura:$this->temperatura
";
echo "Umidade:$this->umidade
";
echo "Pressão:$this->pressao
";
}

}
?>

Nenhum comentário:

Os melhores podcasts do spotify