none
Relacionamento objetos RRS feed

  • Pergunta

  • Ola pessoal, preciso de uma ajuda em relacao a OOP como aplicar nesse cenario.

    Tenho cliente e grupo, um grupo tem uma colecao de clientes.

    Preciso gerar um documento word onde substituo variaveis que vem do word por dados vindo do Bd.

    Exemplo.

    var ler = LerDocumentWord();

    var listaVariaveis = ler.PegarDados();// com aspose eu pego o que vem do word

    A duvida e que eu tenho muitos metodos na classe cliente que tb teria na classe grupo, por exemplo,

    na classe cliente: metodo RecuperaClienteBloqueados();

    e na classe grupo RecuperaGruposBloqueados();

    sendo que tenho uns 30 metodos parecidos, o que muda e so se ele e cliente ou grupo, nao gostaria de fazer isso

    if(cliente)

     faz isso

    else 

    faz isso

    isso e feio, alguem teria sugestao, mesmo herdando de uma interface eu teria que repetir os mesmos metodos nas duas classes, entao interfaces nao me ajuda.

    segunda-feira, 24 de outubro de 2011 18:40

Respostas

Todas as Respostas

  • Olá Lourival,

    Se eu entendi direito um grupo não é uma coleção de clientes? Você precisa de métodos diferentes porque tem uma stored que já traz o resultado calculado quando é grupo?

    segunda-feira, 24 de outubro de 2011 18:52
  • Nao nao, tenho duas classes clientes e grupos,     sendo que os metodos sao os mesmos nomes portanto o comportamento e diferente, eu poderia por exemplo ter assim

    public interface IMinhaInterface

    string retornaTotalBruto();

    public class Cliente : IMinhaInterface

    public string retornaTotalBruto()

    {

    return "123";

    }

    Grupo: IMinhaInterface

    public string retornaTotalBruto()

    {

    return "456";

    sendo q aqui por exemplo eu teria varios calculos, de outras entidades, e no cliente a mesma coisa, no entanto no caso do cliente eu pego um cliente e mostro logo o total, mais no grupo tenho que percorrer a lista de clientes do grupo fazer um total += , pra pegar o total de todos os clientes do grupo.

    }

    e assim sobrepor os metodos, no entanto eu tenho 30 metodos com nomes iguais, mais comportamento diferentes, vou ter que repetir isso no cliente e no grupo, gostaria de saber como fazer isso uma vez em um metodo sem ter que usar ifs por tudo

    segunda-feira, 24 de outubro de 2011 20:57
  • Lourival,

    Dê uma olhada no seu outro post sobre o assunto, respondi lá.

     

    []s

    Fernando de Morais

     

    quinta-feira, 3 de novembro de 2011 20:53