Dúvida UML (Classe Abstrata ou Interface)
Pessoal, estou iniciando a documentação UML de um sistema relativamente simples: Cadastro de Entidades (Clientes, Fornecedores, Representantes e Transportadoras), e um Calendário.
A minha dúvida está com relação a melhor maneira, ou a mais recomendada para a montagem das classes de Entidades, se devo fazê-la como uma Classe Abstrata, ou se devo ter uma Interface "Entidade"?
Um exemplo simplificando:
Cliente - teria Nome, Apelido, CPF_CNPJ
Fornecedor - teria Nome, Apelido, CPF_CNPJ, Classificação
Representante - teria Nome, Apelido, CPF_CNPJ, Comissão
Transportadora - teria Nome, Apelido, CPF_CNPJ, Código_ANP
Opção 1:
Classe Entidade (Abstrata) - teria: Nome, Apelido, CPF_CNPJ
Classe Cliente (herda Entidade)
Classe Fornecedor (herda Entidade) - teria adicionalmente: Classificação
Classe Representante (herda Entidade) - teria adicionalmente: Comissão
Classe Transportadora (herda Entidade) - teria adicionalmente: Código_ANP
Opção 2:
Interface Entidade: teria Nome, Apelido, CPF_CNPJ
Classe Cliente (inclui Entidade)
Classe Fornecedor (inclui Entidade) - teria adicionalmente: Classificação
Classe Representante (inclui Entidade) - teria adicionalmente: Comissão
Classe Transportadora (inclui Entidade) - teria adicionalmente: Código_ANP
Aproveitando os exemplos acima, CPF_CNPJ imaginei que poderiam ser Interfaces (Pessoa_Juridica, Pessoa_Fisica), mas sinceramente nem faço ideia de como seria a lógica disso na programação/banco, alguma sugestão?
No Calendário, eu posso referenciar um compromisso com qualquer uma das Entidades (Cliente, Fornecedor, Representante, Transportadora), o relacionamento dela será com a Classe Entidade ou as "Sub-Classes" (Cliente, Fornecedor, Representante, Transportadora)?
Desculpem qualquer falha gritante ou se ficou confuso...
Obrigado!
A minha dúvida está com relação a melhor maneira, ou a mais recomendada para a montagem das classes de Entidades, se devo fazê-la como uma Classe Abstrata, ou se devo ter uma Interface "Entidade"?
Um exemplo simplificando:
Cliente - teria Nome, Apelido, CPF_CNPJ
Fornecedor - teria Nome, Apelido, CPF_CNPJ, Classificação
Representante - teria Nome, Apelido, CPF_CNPJ, Comissão
Transportadora - teria Nome, Apelido, CPF_CNPJ, Código_ANP
Opção 1:
Classe Entidade (Abstrata) - teria: Nome, Apelido, CPF_CNPJ
Classe Cliente (herda Entidade)
Classe Fornecedor (herda Entidade) - teria adicionalmente: Classificação
Classe Representante (herda Entidade) - teria adicionalmente: Comissão
Classe Transportadora (herda Entidade) - teria adicionalmente: Código_ANP
Opção 2:
Interface Entidade: teria Nome, Apelido, CPF_CNPJ
Classe Cliente (inclui Entidade)
Classe Fornecedor (inclui Entidade) - teria adicionalmente: Classificação
Classe Representante (inclui Entidade) - teria adicionalmente: Comissão
Classe Transportadora (inclui Entidade) - teria adicionalmente: Código_ANP
Aproveitando os exemplos acima, CPF_CNPJ imaginei que poderiam ser Interfaces (Pessoa_Juridica, Pessoa_Fisica), mas sinceramente nem faço ideia de como seria a lógica disso na programação/banco, alguma sugestão?
No Calendário, eu posso referenciar um compromisso com qualquer uma das Entidades (Cliente, Fornecedor, Representante, Transportadora), o relacionamento dela será com a Classe Entidade ou as "Sub-Classes" (Cliente, Fornecedor, Representante, Transportadora)?
Desculpem qualquer falha gritante ou se ficou confuso...
Obrigado!
Daniel Duarte
Curtidas 0