Duvida em modelagem de projeto

2 respostas
Chronus

Fala, galera ! Atualmente estou fazendo um pequeno projeto de cadastro de maquinas utilizando JDBC, porém estou tendo duvidas na hora da modelagem… Uma máquina TEM um id, TEM um nome na rede e TEM um numero de fabricação, portanto fiz a classe conforme abaixo:

public class Maquina { private Long id; private String nome; private Long numeroFabricacao; }

A maquina É DE UM determinado Modelo, e também queria permitir que futuramente o usuário do programa tivesse a opção de inserir/criar novos modelos, portanto pensei em criar uma classe Modelo e fazer com que Maquina herde dela:

public class ModeloDeMaquina { private String marca; //Exemplo: Dell private String tipo; // Exemplo: Optiplex }

public class Maquina extends ModeloDeMaquina { private Long id; private String nome; private Long numeroFabricacao; }

Só que percebi que essa abordagem não seria muito util…pois ao criarmos uma maquina nova teríamos que inserir novamente os dados do modelo da mesma…queria algo como se o Modelo fosse uma contante, que durante a criação da classe fosse escolhida ( e sim…pensei em enums…o problema que não permite que o usuario crie as novas constantes/modelos…como Dell, Compaq )

Pensei então na seguinte modelagem:

public class Maquina { private Long id; private String nome; private Long numeroFabricacao; private ModeloDeMaquina modelo; // MAQUINA É DE UM OU TEM UM MODELO ???? }

Isto está correto de acordo como a OO, galera ?

2 Respostas

M

A máquina tem um modelo. Portanto, deve haver um atributo Modelo na classe Maquina.

Herança só deve ser usada quanto há certeza que X é um Y (não deve ser usada quando “é de um” ou “tem um” ou “pode ser um”).

Chronus

Vlwz, marco :-o !

Criado 3 de fevereiro de 2010
Ultima resposta 3 de fev. de 2010
Respostas 2
Participantes 2