1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Melhor forma de modelagem para classes

Gostaria de uma ajuda bem conceitual. Estou tentando modelar um conjunto simples de classes, onde existem várias possibilidades de serem feitas, mas eu gostaria de fazer um código simples e que se aproveitasse dos conceitos de alguns Design Patterns. Enfim, o problema é o seguinte:

Tenho o Domínio "Produto", onde eu tenho dois tipos de produtos basicamente, Produto vendidos por peso, e Produtos vendidos por unidade (pensem no mercado).

Gostaria de modelar sem usar herança, pois em vários livros recentes vemos a frase "Use composição, evite herança!", então quero aplicar este conceito aqui, seja com interfaces ou outro método. Também quero facilitar a injeção de dependências que vou implementar mais para frente.

Obs: não é trabalho de faculdade ou curso. Estou fazendo um projeto próprio, e quero fazer ele bem feito, flexível e que facilite manutenção.

  • O Produto "vendido por peso" ou "vendido por unidade" é uma decisão desde a criação do Produto ou na hora da venda? Existe algum produto que será vendido tanto por peso quanto por unidade? Dependendo da sua resposta, 1 campo na sua entidade Produto pode resolver, todavia creio que em seu caso o relacionamento está mais com uma nova entidade VENDA do que diretamente com produto. Abraços ;)

    adriano_si   26 de nov de 2015
  • Sobre Use composição, evite herança! não quer dizer Não use herança, se o Produto "vendido por peso" ou "vendido por unidade" for uma decisão no momento de criação pode ser interessante a utilização de Herança.

    dyeimys   26 de nov de 2015
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags design-patterns java ou faça a sua própria pergunta.