crolip,
Acabo de ler um artigo muito interessante sobre as condicionais e por coincidência trata-se do padrão strategy.
O artigo trata do seguinte: “IF BOM É IF MORTO”
Ele mostra uma maneira prática de utilização do padrão strategy que pode eliminar o uso de if negociável.Para
entender melhor, dê uma lida neste link: http://marconems.blogspot.com/search/label/GoF%20Strategy
Desculpe por não poder ajudar muito,mas se você descobrir algo a mais, posta para a galera.
Abraços
assim como o viny, eu também deixaria os ifs, entretanto, como são vários “if’s” encadeados, deixaria primeiro os que tem maior chance de acontecer. Vamos supor que seria 80% de chance de nenhum deles ser null, eu inverteria a ordem deles para algo assim:
e não é um monte de if , isto aí para o computador não é nada nada, mesmo uns 100 ifs, ele analisa rapidinho.
assim eu penso, claro pode haver uma forma melhor no caso de tantos ifs, mas aí não são muitos não.
a unica coisa que imagino que você possa fazer seria você separar um método só para este if em algum Utils seu e chamar ele onde for o caso. Por exemplo:
[code]
public String seuMetodoAuxiliar(Object v1, Object v2){
if (v1 == null && v2 == null)
return null;
//Dado que tem o return não precisa dos else
if (v1 == null) // Não precisa da segunda condição, já que se não obedece à condição acima e v1 é null, v2 não poderá nunca ser null
return v2.toString();
if (v2 == null) // Mesmo que o anterior
return v1.toString();
return v1 + "-" + v2;
[quote=Jemerson]crolip,
Acabo de ler um artigo muito interessante sobre as condicionais e por coincidência trata-se do padrão strategy.
O artigo trata do seguinte: “IF BOM É IF MORTO”
Ele mostra uma maneira prática de utilização do padrão strategy que pode eliminar o uso de if negociável.Para
entender melhor, dê uma lida neste link: http://marconems.blogspot.com/search/label/GoF%20Strategy
Desculpe por não poder ajudar muito,mas se você descobrir algo a mais, posta para a galera.
Abraços[/quote]
Jemerson o artigo aborda o padrão “strategy”,e eu acho interessante conhecer padrões. Mas não se atenha ao resto do artigo sobre “if”. Não fique tentando evitar IFs, isto não faz o menor sentido.
Jemerson o artigo aborda o padrão “strategy”,e eu acho interessante conhecer padrões. Mas não se atenha ao resto do artigo sobre “if”. Não fique tentando evitar IFs, isto não faz o menor sentido…[/quote]
concordo com você, se fosse o caso de criação de objetos ai sim, mas não desta forma, se fosse o caso de criação de objetos poderia se criar uma factory.