Usuário com melhor resposta
Relacionamento objetos

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.
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?
- Marcado como Resposta Wagner dos Santos VasconcellosModerator terça-feira, 22 de novembro de 2011 09:46
-
Lourival,
Dê uma olhada no seu outro post sobre o assunto, respondi lá.
[]s
Fernando de Morais
- Marcado como Resposta Wagner dos Santos VasconcellosModerator terça-feira, 22 de novembro de 2011 09:46
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?
- Marcado como Resposta Wagner dos Santos VasconcellosModerator terça-feira, 22 de novembro de 2011 09:46
-
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
-
Lourival,
Dê uma olhada no seu outro post sobre o assunto, respondi lá.
[]s
Fernando de Morais
- Marcado como Resposta Wagner dos Santos VasconcellosModerator terça-feira, 22 de novembro de 2011 09:46