| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/02/2010 23:20:17
|
dimribeiro
Smalltalk
Membro desde: 04/02/2010 23:07:06
Mensagens: 2
Offline
|
De principio eu sou novo aqui, queria a ajuda de vcs.
Bem estava pensando como posso modelar minhas classes, é uma duvida simples eu imagino...
Preciso de montar um modelo que eu possa controlar estoque. e preciso controlar esse estoque com os produtos individuais e em caixas...
Ex:
tenho 1000unidades de bala...
se eu vender uma unidade terei 999
entao se eu vender 1 caixa X eu terei 899 (supondo que a caixa X vem com 100)...
e se eu vender a caixa Y terei 849 ( a caixa Y vem com 50..)
como eu poderia cricar classes para trabalharem dessa forma?
usar heranca??
-uma classe "Produto", e duas que extendem: "ProdutoUnidade" e "ProdutoCaixa"
ou usar referencia a um objeto??
-na classe "ProdutoUnidade" e "ProdutoCaixa" terá uma propriedade do objeto "Produto"
desde já, nao sei se fui claro.
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/02/2010 23:45:36
|
nel
JWizard
![[Avatar]](/images/avatar/1a9537e58dcb1a9913e1fc10c65c7994.jpg)
Membro desde: 01/10/2009 13:51:10
Mensagens: 2364
Offline
|
Boa noite.
Está muito superficial sua dúvida, na minha opinião, ou melhor, o que realmente quer fazer? Seu objetivo?
A partir do que disse podemos citar algumas formas, mas vou supor uma.
Crie uma classe produtos e entre seus atributos tenha algo:
ProductType
E sua classe produto...
É por ai....em relação ao tipo de caixa, pode até mesmo criar uma classe para isso ou simplesmente verificar no seu sistema, quando o usuario informar que a caixa é do tipo x você assume que a quantidade é 100 e a caixa Y é 50.
Abraços
|
"Se houver a terceira guerra mundial eu não sei como será mas a quarta será com paus e pedras" Albert Einsten. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/02/2010 08:39:24
|
xjunior
JavaEvangelist
![[Avatar]](/images/avatar/7d5e16c1a728cb7d3e40ffa4eadb67ab.png)
Membro desde: 26/08/2009 15:49:19
Mensagens: 321
Localização: Belo Horizonte - MG
Offline
|
Bom amigo, vc foi muito vago na sua definição, pois se vc sabe a lógica do negócio porque não fazer uns casos de uso pra identificar as situações do seu problema,
após faz um diagrama de classes, se vc ver algo em comun vc pode fazer herança e polimorfismo, e ainda, se vc ver que pode haver situações pra usar design patterns, aconselho vc a utilizá-los, não sei se entendi, mas se vc possui um produto que vai sendo descontado de forma que depende do desconto do anterior, usa um design pattern que utilizo muito que faz parte da família dos comportamentais, o "chain of responsability" no qual vc faz um encadeamento de instâncias e cada uma pega o cliente e trata ele de acordo com a sua responsabilidade, agora depende realmente do que vc quer.
Lembre-se, todo projeto que for fazer, comece com algum tipo de documentação, embora que seja mínima, mas vai te ajudar e facilitar no futuro.
|
acessem um dos melhores foruns de TI: http://www.clubedaprogramacao.com/forum/
Always code as if the person who will maintain your code is a maniac serial killer that knows where you live. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/02/2010 08:44:00
|
Astork
JavaGuru
Membro desde: 13/11/2008 17:14:18
Mensagens: 214
Localização: Curitiba
Offline
|
O Padrão Strategy acredito que poderia resolver este problema bem...
De uma lida no mesmo e veja se ele pode te ajudar.
Att
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/02/2010 08:45:08
|
Felagund
GUJ Master
![[Avatar]](/images/avatar/d8d855c465198499868fb2b566ebee8d.jpg)
Membro desde: 26/07/2006 11:51:36
Mensagens: 1732
Localização: Santa e Bela Catarina
Offline
|
Vou postar mais ou menos o que eu entendi do seu problema
Bem simples e bem compacto, espero que sirva de ajuda.
|
att
Rafael Felix
Rolling With Code
Twitter |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/02/2010 14:11:06
|
Astork
JavaGuru
Membro desde: 13/11/2008 17:14:18
Mensagens: 214
Localização: Curitiba
Offline
|
Não entendi para que a Lista?
Att
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/02/2010 14:46:20
|
sergiotaborda
GUJ Expert
![[Avatar]](/images/avatar/b4a0e0fbaa9f16d8947c49f4e610b549.png)
Membro desde: 22/03/2005 20:57:48
Mensagens: 3433
Offline
|
dimribeiro wrote:De principio eu sou novo aqui, queria a ajuda de vcs.
Bem estava pensando como posso modelar minhas classes, é uma duvida simples eu imagino...
Preciso de montar um modelo que eu possa controlar estoque. e preciso controlar esse estoque com os produtos individuais e em caixas...
Ex:
tenho 1000unidades de bala...
se eu vender uma unidade terei 999
entao se eu vender 1 caixa X eu terei 899 (supondo que a caixa X vem com 100)...
e se eu vender a caixa Y terei 849 ( a caixa Y vem com 50..)
E se voce vender a caixa toda ?
O que é o seu produto ? as balas dentro das caixas, ou as caixas em si mesmas, ou os dois ?
Este problema é conhecido. Um produto pode ter diferentes "tipos" conforme ele pode ser vendido ou não.
Para modelar as classes vc precisa ter um modelo na sua cabeça e esse modelo tem que funcionar
O modelo mais simples (não de implementar, mas de usar) é considerar que todo o produto é composto por outros produtos (padrão composite object)
Um produto "caixa de bala de morango" é composto por 900 balas de morango. Então vc tem dois produtos.
O produto mais simples ( aquele que não é composto por nada mais) é a unidade do que vc vende. No sistema de estoque a composição é importante ( não apenas para estoque para control de produção tb).
O modelo é então : Produto A -> X produto B + Y produto C + ...
Caixa de balas = 900 balas
bala = 1 bala
O preço é atribuido ao menor produto (que é a unidade) e o preço da caixa é simplesmente a multiplicação com um fator de desconto (ou não).
O exemplo classico 3x2 ou 2x1. Vc compra dois frascos de shamppo e leva 3. A unidade é o fraco, o produto é a embalagem com os 3
Embalagem 3x2 de Shampoo HTC = 3 frasco shampoo HTC
1 rasco shampoo HTC = rasco shampoo HTC
O sistema de preço é variável conforme a forma de embalagem, mas tudo é produto, tudo é vendivel....bom, quase tudo.
Caixa de bala vêm em paletes de caixa de bala. Provavelmente vc não venderá paletes inteiras, mas irá comprá-las. O sistema de produtos é o coração tanto das vendas como das compras, portanto a herarquia de produtos é o cerne do negocio da emrpesa.
Em java
Tem que usar Quantidade e não int porque produtos diferentes têm unidades diferentes. (tecido é por metro, bala é por unidade , fruta é por quilo,etc)
This message was edited 1 time. Last update was at 05/02/2010 14:46:50
|
Criando sua própria API de Validação
Blog do MiddleHeaven |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/02/2010 15:29:33
|
Bruno Laturner
GUJ Expert
![[Avatar]](/images/avatar/5800ccd9514fd789d08e5831951aa6bc.jpg)
Membro desde: 18/02/2008 16:17:53
Mensagens: 3002
Offline
|
Acho que o modelo mais simples seria não implementar nada.
Digo, apenas ter uma classe Produto com uma descrição, "BALA DE MORANGO" ou "CX COM 10 UN BALA DE MORANGO". Esse é o tipo de controle de estoque mais simples e mais usado na vida real.
A menos que o negócio peça o controle das unidades individuais dentro de cada caixa, não vejo tantos problemas.
|
A resposta acima foi achada em menos de 5 minutos no google.
The prisoner falls in love with his chains. --E.W. Dijkstra |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/02/2010 23:12:17
|
dimribeiro
Smalltalk
Membro desde: 04/02/2010 23:07:06
Mensagens: 2
Offline
|
entao gnt...
vejam se tomei a decisao certa...
(valeu as respostas o pessoal aqui responde mesmo! =D)
This message was edited 1 time. Last update was at 05/02/2010 23:13:41
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/02/2010 23:02:49
|
ono.leo
Thread.start()
Membro desde: 09/11/2009 15:09:45
Mensagens: 38
Offline
|
Ola ! Nao sei se ajudaria e nem sei se era exatamente esse a sua duvida, mas aqui na empresa onde trabalho, para cada produto, utilizamos unidades com fator de entrada e saida.
Por exemplo, ao fazermos um pedido de 1000 balas, o fornecedor as entrega em 10 caixas (cada um contendo 100 balas). E vem com a seguinte nota nota fiscal (entrada):
codigo descricao qtde unidade preco unitario subtotal
--------------------------------------------------------------------------------------
0001 balas gostosinhas 10 CX 100,00 1000,00
Porem, eu como comerciante, vendo por "Pacote c/ 2".
Entao, temos na nossa tabela de Unidades:
codigo descricao fator
------------------------------------
CX Caixa 100
PC/2 Pacote c/2 2
No controle de estoque, utilizamos na quantidade sempre a unidade de venda (saida). Assim, no exemplo da nota de entrada, atualizamos o estoque fazendo o calculo:
entrada = qtde de entrada da nf * fator da unidade de entrada / fator da unidade de saida
entrada = 10 * 100 / 2 = 500 PC/2
A saida eh mais facil pois a unidade de venda e do controle de estoque estao iguais.
Exemplo: vendeu 2 PC/2 ... Logo, no estoque, basta subtrair 2.
Bom, nao sei se falei alguma besteira, mas acho que e isso.
Espero ter ajudado.
This message was edited 1 time. Last update was at 08/02/2010 23:17:44
|
|
|
 |
|
|