Khyquer 0 Denunciar post Postado Abril 24, 2012 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
quitZAUMMM 18 Denunciar post Postado Maio 18, 2012 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
Khyquer 0 Denunciar post Postado Maio 18, 2012 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
quitZAUMMM 18 Denunciar post Postado Maio 18, 2012 é 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