Muito usos de Classes "Static"

9 respostas
J
Oi rapaziada, estou com o seguinte problema: Tenho um JFrame que ao executar pela primeira vez deve executar o seguinte codigo no construtor:
pastaAtual = DeserializaPasta.deserializa();
Porem como é a primeira vez que se executará o programa não existira pasta para deserializa e entao o usuario sera obrigado a criar uma e serializar com o seguinte codigo
public static void setPastaAtual(){
        try {
            pastaAtual = DeserializaPasta.deserializa();
            

        } catch (FileNotFoundException ex) {
            EntradaModelos ent = new EntradaModelos(); //Abre uma nova Jdialog e cria a pasta e faz uma nova chamada ao metodo setPastaAtual();
            ent.setVisible(true);
        }

    }
esta situação ocorre tambem com outro metodo. Gostaria de saber se esta forma de codificação usando metodos de classes( 2x) é uma forma politicamente correta para os padroes de programação e segue a regra da OOP.

9 Respostas

rogelgarcia

Se você está perguntado sobre código duplicado…

Código duplicado não é politicamente correto para padrões de programação.

J

Nâo é codigo duplicado e sim muitos atributos e metodos de classes

JuniorMaia

não faz muito sentido usar 2x dessa forma

KamikazeBr

Olá, estou vendo padrão Singleton?

Se sim, essas “duplicações” são naturais.

douglaskd

olha…talves eu fizesse assim:

public String diretorioAtual;

public void setDiretorioAtual(){
this.diretorioAtual = //use aqui o JfileChooser;
}
public String getDiretorioAtual(){
return this.diretorioAtual;
}

public static deserializaPasta {

if(getDiretorioAtual() == null){
setDiretorioAtual();
}

//aqui você deserializa a pasta
}
douglaskd

esqueci de falar o mais importante

diminua o uso de statics…você acaba perdendo o controle da app quando cresce

o melhor é dividir em classes… arquivos separados e os métodos de cada classe

Vinicius_Zibetti_Res

classes Static ? O que seriam estas classes ?

J

Obrigado pessoal pela força. KamikazeBr eu não sei o que é Singleton, mas estive dando umas lidas sobre isso e acho que acertou mesmo. É mais um assunto pra mim aprender, vou me aprofundar um pouco. Valeu

samirrolemberg

você futuramente vai criar um arquivo certo?

tente criar o arquivo testando o exist() do File.

Se existir você cria ou sobreescreve o arquivo.

se não existir você faz um mkdir() e cria o arquivo desejado.

Criado 17 de maio de 2012
Ultima resposta 21 de mai. de 2012
Respostas 9
Participantes 7