Pattern Reaproveitar Código

7 respostas
phlopes

Boa Tarde Pessoal, tenho vários métodos que executam o mesmo código, porém os parâmetros são diferentes…

Qual melhor pattern a ser usado?

obrigado !

Paulo.

7 Respostas

Thiago_de_Paula_Bese

Não sei se é essa reposta que você ta procurando. Mas uma ideia sempre é bem vinda.

Cria uma classe separada pra utilizar todos estes métodos que utiliza ma mesma lógica, e separa esta lógica em um método para você chamar este método nos outros métodos que tem funções diferentes.

Não sei se estou certo. Mas eu faria o seguinte. Criaria uma classe com métodos estáticos(os métodos que tem os parâmetros diferentes) e o método que tem a lógica concentrada como private.

Bom, espero que tenha ajudado.

Valeu

Rodrigo_Sasaki

Você vai ter que ser mais específico do que isso se quiser uma resposta de verdade. Exemplifique com código.

Senão vai ficar todo mundo aqui chutando no escuro e nada sai do lugar

phlopes

OK, vou exemplificar melhor:

Em uma mesma classe eu possuo 3 métodos que possuem o mesmo corpo, só que para cada uma eu tenho parametros diferentes para ela:

Ex:

package br.com.ocjp6.pack1;

public class Reaproveitar {
	
	String metodo1(){
		
		DataObject connectar = ServerOne.Connectar("Cabeçalho1","Header1","Nome1")
		
		
		return "Método 1";
	}
	
	String metodo2(){
		
		DataObject connectar = ServerOne.Connectar("Cabeçalho2","Header2","Nome2")
		
		
		return "Método 2";
	}
	
	String metodo3(){
		
		DataObject connectar = ServerOne.Connectar("Cabeçalho3","Header3","Nome3")
		
		
		return "Método 3";
	}

}

Os métodos são só um exemplo, mas a idéia é essa…

phlopes

Rodrigo Sasaki:
Você vai ter que ser mais específico do que isso se quiser uma resposta de verdade. Exemplifique com código.

Senão vai ficar todo mundo aqui chutando no escuro e nada sai do lugar

Bom, postei o exemplo, de qualquer maneira obrigado !

Thiago_de_Paula_Bese

Coloque os parametros da lógica no método
EX:

String metodo1(String p1, String p2, String p3)
{
   ...
}

Assim você pode setar os parametros da lógica através de atributos de outra Classe. Isto deixa a aplicação flexível.

Assim você vai utilizar somente 1 método, pois agora você pode alterar os parâmetros pelo método invez de configurá-los dentro do mesmo.

Espero ter ajudado. :smiley:

phlopes

Thiago de Paula Beserra:
Não sei se é essa reposta que você ta procurando. Mas uma ideia sempre é bem vinda.

Cria uma classe separada pra utilizar todos estes métodos que utiliza ma mesma lógica, e separa esta lógica em um método para você chamar este método nos outros métodos que tem funções diferentes.

Não sei se estou certo. Mas eu faria o seguinte. Criaria uma classe com métodos estáticos(os métodos que tem os parâmetros diferentes) e o método que tem a lógica concentrada como private.

Bom, espero que tenha ajudado.

Valeu

Legal Thiago, com certeza as idéias são bem vindas… valeu pela ajuda !

Rodrigo_Sasaki

Por que você não invoca esse método diretamente, alterando somente os argumentos enviados?

Você sente que há alguma facilidade em fazer da maneira que fez?

Criado 13 de março de 2013
Ultima resposta 13 de mar. de 2013
Respostas 7
Participantes 3