none
Qual a melhor solução? RRS feed

  • Pergunta

  • Olá Amigos,
     Vejam se podem me ajudar a tirar uma duvida.
     Tenho uma classe onde existem varios metodos e atributos e ela tem um atributo ID que é necessario em diversas outras classes. Bom tenho duas saidas, replicar o atributo em todas as outras classes mas penso que pode gerar problemas de manutenção, ou então as outras classes herdarem ela, porem não sei se é a melhor solução pois existem diversos outros metodos e atributos que não são necessarios para as outras classes.

    Desde ja agradeço.
    quarta-feira, 25 de julho de 2007 18:22

Respostas

  • Fala Eduardo.

    Bom, depende da situação.

    Mas vamos pensar assim, se é um atributo em comum para várias classes podemos utilizar os conceitos de OO.

    Neste caso, por questões de organização e reaproveitamento de código é recomendado você utilizar herança e não replicar o código. Uma solução seria criar uma classe pai com esse atributo ID e as classes filhas herdarem dela.

    Agora uma outra dica, se você estiver modelando objetos de negócio (business objects, domain model), procure revisar a sua modelagem, se o atributo ID é comum para várias classes, provavelmente também exista uma classe que seja comum nesse caso.

    Uma outra dica é, muitas pessoas têm dificuldade para modelar classes, por que fazem igual a modelagem de um DER. Essa replicação de ID´s lembra muito esse problema. Não sei se é o seu caso, mas é bom ficar de olho, pois modelagem de classes é diferente de uma modelagem relacional (DER).


    Espero ter ajudado.



    Fernando Filiputti







    quinta-feira, 26 de julho de 2007 14:13

Todas as Respostas

  • Fala Eduardo.

    Bom, depende da situação.

    Mas vamos pensar assim, se é um atributo em comum para várias classes podemos utilizar os conceitos de OO.

    Neste caso, por questões de organização e reaproveitamento de código é recomendado você utilizar herança e não replicar o código. Uma solução seria criar uma classe pai com esse atributo ID e as classes filhas herdarem dela.

    Agora uma outra dica, se você estiver modelando objetos de negócio (business objects, domain model), procure revisar a sua modelagem, se o atributo ID é comum para várias classes, provavelmente também exista uma classe que seja comum nesse caso.

    Uma outra dica é, muitas pessoas têm dificuldade para modelar classes, por que fazem igual a modelagem de um DER. Essa replicação de ID´s lembra muito esse problema. Não sei se é o seu caso, mas é bom ficar de olho, pois modelagem de classes é diferente de uma modelagem relacional (DER).


    Espero ter ajudado.



    Fernando Filiputti







    quinta-feira, 26 de julho de 2007 14:13
  • Obrigado pelo retorno Fernando.

    Eu acredito então que estou me perdendo na modelagem, realmente estou derivando o meu modelo de classes de um ER. Mas pelas suas dicas vou criar as classes filhas com um atributo para a classe pai em vez de herança.

    Obrigado.
    quinta-feira, 26 de julho de 2007 18:02