Oi pessoal, gostaria de saber o que vcs usam qdo precisam usar combox por exemplo e colocar valores do tipo:
Ativado
Desativado
Em fase de ativaçao
ou por exemplo:
Aceitado
Nao Aceitado
Iniciado
Finalizado
Que tipo de logica que vcs usam para colocar esses tipos de valores em tabelas ou listas de valores (LOV, que de qualquer jeito é colocado dentro de tabelas mas todos os valores sao colocados em uma tabela sò.).
Deu pra entender a pergunta?
Valeu!
Acho q n expliquei direito. N é duvida de sintaxes java, mas de metodologia de desenvolvimento. Vou fazer exemplos pra ver se consigo explicar melhor.
Digamos que eu tenha q fazer uma form e essa form eu tenho que colocar uma combox e nessa combox eu tenho q colocar valores do tipo.
Ativo
Inativo
Em fase de ativaçao
e tenho q fazer uma outra combox com os valores…
Aceito
Nao aceito
anulado
Soluçao 1
colocar esses valores fixados no codigo (argh!!!).
Soluçao 2
Colocar em uma tabela de q se chama TBL_ESTADOS_DE_ATIVACAO e TBL_ESTADO_APROVATIVO
Soluçao 3
Colocar em uma tabela de valores.
Pra quem nao conhece, isso significa q todos os valores para combox eu vou colocar dentro dessa tabela. Por exemplo, o oracle application usa a LOV (list of values).
Para o meu exemplo essa tabela tera’ os seguintes campos e valores.
ID-----COD-----DESCRIPTION---------------------ENABLED----------TIPO_VALOR
1-----ATI--------ATIVO ------------------------------Y------------------ESTADO_ATIVACAO
2-----INA------- INATIVO-----------------------------Y-----------------ESTADO_ATIVACAO
3-----FASE------ EM FASE DE ATIVAçAO------------Y-----------------ESTADO_ATIVACAO
4----ACET-------ACEITO------------------------------Y-----------------ESTADO_APROVATIVO
5----INAC-------NAO ACEITO------------------------Y-----------------ESTADO_APROVATIVO
6----ANUL-------ANULADO----------------------------Y-----------------ESTADO_APROVATIVO
Essas sao as minhas ideias, gostaria de saber quais sao as melhores escolhas no ponto de vista de vcs.
cada caso é um caso… (a regra geral é que não existe uma regra geral, ou como o povo chama aqui no forum, bala de prata).
a minha “opinião”, é que
quando for alguma coisa que dificilmente vai mudar, uma aplicação pequena e estatica ao menos quanto a essa regra de negócio, crie constantes em uma classe java, armazene e utilize o valor destas constantes;
porém quando for alguma aplicação maior e/ou mais dinâmica, onde as opções possivelmente acabem variando, ai você vai ter que criar ma tabela no banco de dados, contendo o id do list do html, o value, uma descriçãozinha, sua aplicação vai ter que ler toda essa tabela para popular a tag de combobox do seu framework MVC favorito (que normalmente tem alguma tag na qual você usa uma lista de objetos e ele inclui a lista desses objetos combobox), e ao armazenar os dados do formulario em uma tabela, o campo que pegar o valor deste combobox preferivelmente deve apontar para a tabela que armazena as possiveis opções no combobox… Claro que isso da um pouco mais de trabalho, é uma solução mais versatil, por isso mesmo que indico fazer isso só quando houver necessidade…
Eu tb prefiro a soluçao 2, porém é mto comum que eu entre em projetos onde a analise foi mal feita ou que os usuarios sempre pedem mais coisas. Por isso, qdo n tem uma analise bem feita ou qdo eu sei que o cliente é daqueles que “mudam as cartas sobre a mesa” eu uso as listas de valores.
E se muda um valor ou se é adicionado outro valor uma insert ou update ajuda a resolver o problema com mais facilidade. Ja as constantes, eu nunca usei para essa finalidade entaum n posso opnar.