Dificuldade com Design de Software[RESOLVIDO]

4 respostas
worldsoft

Bom galera do GUJ,

Estou com uma dificuldade em modelar um problema até que simples. É o seguinte:

Tenho uma classe que representa um equipamento, e nesse equipamento há alguns sensores que são ativados e desativados para ser feito sua leitura.
Minha dúvida é: Qual a melhor forma de implementar isso, sendo que as leituras dos sensores tem que ser feitas uma a uma.

Pensei que polimorfismo fosse a melhor solução, mais como tenho que fazer a leitura de cada sensor um por vez, ou por um sensor em específico, ai me confundiu tudo.

Alguém tem alguma ideia para me ajudar?

4 Respostas

ErickRAR
public class Equipamento{
...//dados do equipamento
List<Boolean> sensores;
//Ou caso sensores não seja apenas 'ativado' e 'desativado', você cria uma classe Sensor e Equipamento terá uma lista dela.
List<Sensor> sensores; 
}

O resto é só manipular de acordo com as regras do negócio.

worldsoft

ErickRAR:
public class Equipamento{ ...//dados do equipamento List<Boolean> sensores; //Ou caso sensores não seja apenas 'ativado' e 'desativado', você cria uma classe Sensor e Equipamento terá uma lista dela. List<Sensor> sensores; }

O resto é só manipular de acordo com as regras do negócio.

Obrigado pela resposta ErickRAR, mais caso precise de um sensor em específico como faria? Tipo tenho sensor de giro e acelerômetro, e preciso do primeiro como faria?

Um método em Equipamento para buscar esse sensor ou algo mais genérico?

ErickRAR

Ai você utiliza a segunda opção, criando uma classe Sensor:

public class Sensor{
 private String nome;
 private boolean ativado;

//get e set ..
}

public class Equipamento{

  private List<Sensor> sensores;


   public void sensoresAtivado(){
    for(Sensor s: sensores)
       if(s.isAtivado())
        System.out.println(s.getNome() + " está ativado");
}
}
worldsoft
ErickRAR:
Ai você utiliza a segunda opção, criando uma classe Sensor:
public class Sensor{
 private String nome;
 private boolean ativado;

//get e set ..
}

public class Equipamento{

  private List<Sensor> sensores;


   public void sensoresAtivado(){
    for(Sensor s: sensores)
       if(s.isAtivado())
        System.out.println(s.getNome() + " está ativado");
}
}

Blz, obrigado.

Criado 20 de julho de 2012
Ultima resposta 20 de jul. de 2012
Respostas 4
Participantes 2