Ir para conteúdo

POWERED BY:

Arquivado

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

Khyquer

Criar métodos genéricos ou específicos?

Recommended Posts

Achei interessante essa questão do Pergunta TI e gostaria de compartilhar com vocês:

 

Tomemos como exemplo o seguinte problema para ilustrar a questão:

Crie uma classe que receba valores e retornem as frases populadas com esses valores.

 

Se fossemos criar métodos genéricos, criaríamos um array com todas as frases, e um método que receberia o código da frase e um array de valores para colocar na frase.

 

Se fossemos criar métodos específicos, criaríamos um método para cada frase, e cada método teria uma assinatura própria.

 

Qual das duas opções vocês consideram melhor? Por quê?

 

 

 

Exemplo de implementação das lógicas acima em PHP:

 

Método genérico:


class Message
{
   private $frases = array(
         1 => 	'Produto %s excluído com sucesso',
         2 => 	'Arquivo %s foi salvo com sucesso
	);
   public function getMsg(int $idFrase, $valores)
   {
       return vsprintf($this->frases[$idFrase], $valores);
   }
}

 

Métodos específicos:

 


classe Message
{
	public getProdutoExcluido($produto)
	{
         return  'Produto $produto excluído com sucesso';
	}

	public getArquivoSalvo($arquivo)
	{
         return  'Produto $arquivo excluído com sucesso';
	}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

kkk bom não se te dizer o pq nem a diferença em termo de eficiência, mais EUUU sempre utilizo o modo específico..

alias nunca tinha pensando em fazer na outra forma;

 

:thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

kkk bom não se te dizer o pq nem a diferença em termo de eficiência, mais EUUU sempre utilizo o modo específico..

alias nunca tinha pensando em fazer na outra forma;

 

:thumbsup:

 

Não era nem em questão de eficiência minha dúvida, mas sim em questão de organização de código!

Se for pensar em reutilização, o genérico é melhor, não?

 

Minha ex-professora de java sempre levantava uma questão que sempre uso. "E se caso um dia eu quiser mudar.."

 

Se um dia eu quiser mudar a forma como estou imprimindo a mensagem, no método genérico implicará apenas em alterar um método. No específico (no caso do exemplo), implicaria em editar todos os métodos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

é acho que é válido sim o método genérico..

como disse num futuro não muito distante kkk você pode qrer alterar..

e tenha em mente se você estiver em uma empresa onde eh seu software que se adapta ao cliente, pode ter ctz.. esse método vai mudar =//

 

[]s

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.