Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

tejobr

OOP - Melhor design para objetos de um sistema

Recommended Posts

Linguagem: VB.Net. BD: Access. Módulo do Sistema: Emissão de cheques.Em um objeto Cheque, tenho que indicar um destinatário, que pode ser Cliente, Profissional, Bancos etc. Todos são objetos já existentes no sistema.Qual seria a melhor forma de desenvolver isso, tanto na questão de elegância quanto na performance?- Colocar um campo ID do destinatário, ao invés de Destinatário, e carregar outro objeto conforme um campo que indicaria o tipo?- Construir o campo destinatário como um objeto genérico, e testar o tipo desse objeto para as buscas no banco de dados?- Construir um objeto Cheque básico, sem o destinatário, e derivar uma classe Cheque para cada tipo de objeto destinatário?Thanks. :wacko:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

a classe Cheque seria sua classe pai e as classes Cliente, Profissional e Bancos suas classes filhas?

 

pensei dessa forma:

 

Classe Cliente 'Poderia ser uma das três filhas que você informou

Public Class Cheque'...'...'...' Ou seja, aqui você tem todas as suas propriedades e métodos' Daí você criaria uma propriedade do tipo da classe Cheque' Exemplo:     Private _Cheque as Cheque     Public Property Cheque as Cheque          get               Return _Cheque          end get          set (value as Cheque)               _Cheque = value          end set     End PropertyEnd Class
Ou seja, você terá uma propriedade do tipo Cheque dentro da sua classe Cliente.

Para utilizar esta classe passando suas propriedades, você pode fazer da seguinte maneira:

 

Dim MeuCliente as new ClienteDim MeuCheque as new ChequeMeuCheque.PropriedadeA = "Teste"MeuCheque.PropriedadeB = "TesteB"MeuCliente.Cheque = MeuCheque
Lembrando que dentro de classes não podem existir chaves estrangeiras.

 

Pelo que eu entendi do seu problemas, seria isso.

 

Espero que tenha ajudado,

 

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.