Pessoal, precisava de uma forcinha de vcs num problema de modelagem de classes. Estou começando com OO, ebasicamente tudo que sei aprendi lendo o livro do craig larman. Caso fale alguma besteira, não liguem hein rssss
Bom, tenho uma classe PEDIDO cuja situação deste pedido em algum momento depende da situação de uma outra classe REQUISIÇÃO relacionada a este pedido (defini que Pedido conhece sua REQUISICAO).
É que qdo é feito um pedido, caso algum item não tenha estoque é criado uma NOVA REQUISIÇÃO E ESTA É RELACIONADA AO PEDIDO.
Neste caso pedido fica no estado de AGUARDANDOESTOQUE.
Quando a requisição for atendida, a situação do Pedido deve mudar para LIBERADOPARAENVIO.
O problema é que naum sei quem deve alterar a classe pedido. Pensei em algo como quando um pedido for solicitado, este verificasse a situação da requisição e caso esta tenha mudado, o próprio pedido se atualizasse. Mas isso não me soa muito bem.
Pensei na classe LOJA, que conhece seus pedidos e requisições.
a requisição é atendida em outro sistema. Apenas tenho acesso aos dados já atualizados, por isso essa preocupação em saber se a requisição foi atendida ou não…
Não entendi muito bem o que quer fazer, mas me parece que seus pedidos são persistidos, provavelmente num banco de dados. Quando a pendência for resolvida, oomente você obtém do bd o pedido relacionado e muda o status, e persiste.
Ou talvez quando o pedido viesse à tona, ele deveria saber por si só qual o seu status, verificando as pendências a serem ou já resolvidas. Acho que assim fica melhor.
Não tem como postar as classes aqui pra ficar mais exato?
Estou usando um PedidoDAO que popula um PedidoVO, e manda este VO para classe da camada negócios que pediu tal pedido.
Pela sua sugestão, haveria um código no construtor da classe VO, que caso o atributo “Status do pedido” tenha o valor AGUARDANDOESTOQUE, este VO consultaria a RequisicaoVO relacionada ao Pedido a atualizaria seu próprio “Status do pedido”, se necessario. é isso?
neste caso, eu não estaria dando responsabilidades fora do contexto de um pedido? essa é minha dúvida, se é obrigação do pedido verificar o status de outra classe pra definir seu próprio status…
[quote=Mardex]Pela sua sugestão, haveria um código no construtor da classe VO, que caso o atributo “Status do pedido” tenha o valor AGUARDANDOESTOQUE, este VO consultaria a RequisicaoVO relacionada ao Pedido a atualizaria seu próprio “Status do pedido”, se necessario. é isso?
neste caso, eu não estaria dando responsabilidades fora do contexto de um pedido? essa é minha dúvida, se é obrigação do pedido verificar o status de outra classe pra definir seu próprio status…
ou viajei demais hhehehe
[/quote]
Não me parece “fora de contexto”. Se o pedido possui por natureza de nenhum a uma ou mais Requisições, e seu próprio status depende das requisições, torne seu pedido auto-suficiente e inteligente, de modo que ele mesmo possa determinar por si próprio o status.
Por isso tô te pedindo: posta o código que viajamos menos…
Cara, olhei a imagem. Eu juntaria pedido VO com pedido, ou te perguntaria qual a utilidade de um PedidoVO. EDIT: Lê o link que eu passei que talvez possa te esclarecer, vale a pena…
Olha, porque você não faz um método getStatus() no Pedido que consulta a requisição?
[quote=renato3110]Cara, olhei a imagem. Eu juntaria pedido VO com pedido, oou te perguntaria qual a utilidade de um pedidoVO.
[/quote]
Acho que fica bom com o getStatus, caso junte Pedido com PedidoVO
Acho que mesmo mantendo separado, Pedido deve alterar os VOs…
Quanto aos VOs, achava uma boa forma de passar dados da camada de persistencia para a camada de negocios…lendo alguns posts recentemente aqui no forum, vi que a finalidade é outra…