Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Vinicius Rangel

Design Pattern [chain of responsibility]

Recommended Posts

ajudaria muito com minha dúvida, o simples fato de eu não saber que a propriedade sucessor não se era mais referente ao escopo que ele se encontra e sim do sucessor dele foi o que complicou e falando ainda parece estranho mas tenho certeza que entendi.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Analisando o código, vi que talvez seria legal forçar handleRequest receber sempre um objeto do tipo Handler.

 

Vejam:

public function handleRequest(Handler $request){
...
}

 

Isso seria correto?

 

No exemplo não, pois o objeto é Request, não Handler.

 

 

public function handleRequest(Request $request){
...
}

 

O artigo completo esta aqui:

http://imasters.com.br/artigo/17645/php/design-patterns-e-o-desenvolvimento-em-php-chain-of-responsibility

 

Pelo que parece, o autor não usou recursos do PHP mais recente, afinal, é um artigo de 2010.

 

Isto seria aceitável:

 

abstract class Handler
{
     abstract public function handleRequest(Request $request);
     abstract public function setSuccessor(Handler $nextVehicle);
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

parece que informar que é o handler deveria ser no método setSucessor

 

public function setSuccessor(Handler $nextVehicle)
{
	$this->successor = $nextVehicle;
}

 

no caso de um uso real a interface dele seria algo como automóvel se fosse uma transportadora.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.