quem leva a regra de negócios??
|
|
E ai pessoal! tranquilos?? queria saber as opiniões, dicas de desenvolvimento neste aspecto e experiencias de voces… =]] valeu []’s |
|
|
No Java a regra não é feita no controller não, por exemplo. Temos o Struts, ele tem o Action, que seria equivalente ao nosso controller aqui do Ruby, no action geralmente não fazemos a regra, pode-se ter uma classe exclusiva que faz a regra de negocio, faz a ponte entre o controller e o model, como se fosse uma junção. Em JEE, pode-se criar a regra em alguma camada do EJB, você com Spring pode criar também classes que façam esse papel. No controller do rails podemos fazer uma parte da regra, o model já tem uma, que é justamente aquela validação padrão do rails. |
|
|
então é melhor manter a regra de negócios no model, só que dai naum entendo o sentido do controller.. só para validações? pequenas ações? não é melhor centralizar as coisas? como por exemplo, deixar toda a regra no controller e nos models informações e métodos referentes a tratamento direto dos dados vindos e enviados ao banco… é isso que vc quer dizer?? meu conceito pode estar errado =P valeu a resposta.. =] |
|
|
Na verdade o controller deveria servir só como “cola” entre a view e o model. E também pra controlar a navegação. O ideal é que os controllers são raquíticos de tão magros :) |
|
|
o controller faz o que seu nome diz: “controla” o fluxo dos programas e a interação entre as views e os models, na verdade as validações são feitas no model né? afinal é lá que você as define, centralizar as coisas foge do paradigma de MVC você não concorda? |
|
|
ronie escreu o mesmo que eu e ao mesmo tempo! =:P marllon tente pensar em termos puramente OO um model não é só um objeto que representa uma linha da tabela do BD mas sim entidades da sua aplicação que tem (ou pelo menos deveriam) ter todos os artificios para serem auto-suficientes… se voce der uma olhada no fórum do guj, tem diversas discussões sobre isso (aquela velha história de DTO´S,VO´S e todas essas sopas de letrinhas de java), eu sei, eu sei, é um fórum de java, mas OO é OO em qualquer linguagem né? e os conceitos são os mesmos, embora as implementações nem sempre sejam. Mas o fato é seus controllers tem que ser magrinhos mesmo, ficando mais elegante desse jeito =;] |
|
|
RoadHouse, concordo sim, por isso mesmo prefiria centralizar as coisas no controller, pois sempre achei que models deveriam servir apenas para transportar os dados e nada mais.. asism como vc vcs dizem que o controller serve apenas para a navegação entre as views e o restante do programa =P.. o Grivon tinha falado que a regra de negócios no jee, poderia ser feita em qualquer das camadas da aplicação (seja ejb, seja o diabo que for…) view(jsps)→action(struts)→ADO→vo(pojo) minha regra de negócios ficava quase que toda no action, com exceção de algumas outras classes que fazia pra auxiliar com tarefas complexas ou comuns… então estive “enganado” durante todo esse tempo? |
|
|
marllon então esse negócio de os models serem apenas uma estrutura de dados é motivo de muita discussão, a questão é que se você deixa os models apenas como “repositorios de dados” o sistema no geral vai perdendo a sua caracteristica OO né? Mas eu tenho a impressão que isso é meio que uma discussão do tipo “sexo dos anjos” que não acaba em nada muito conclusivo, além de um retunbante “depende” hehehehe |
|
|
entendi.. então me tire outra duvida por favor… =] entendi.. então me tire outra duvida por favor… =]faço assim nos meus controllers entendi.. então me tire outra duvida por favor… =]faço assim nos meus controllersno meu método index por exemplo entendi.. então me tire outra duvida por favor… =]faço assim nos meus controllersno meu método index por exemplo entendi.. então me tire outra duvida por favor… =]faço assim nos meus controllersno meu método index por exemplo entendi.. então me tire outra duvida por favor… =]faço assim nos meus controllersno meu método index por exemplo
é isso assim mesmo?? parace tão confuso _ vou tentar fazer dessa forma… |
|
|
é bem por ai mesmo… (pelo menos eu acho =;D) mas eu não entendi o que você quis dizer sobre “session”. eu acho realmente interessante você acompanhar algumas discussões no GUJ sobre isso, vá lá no fórum de J2EE que vez por outra rola uma discussão nesse sentido, talvez isso ajude você a clarear mais as idéias (a mim ajudou) |
|
|
o session que me refiro é assim o session era o responsável pela camada de negócios. mas as dicas e de voces são válidas.. vou tentar adaptar meus controllers e models para a forma como vcs falaram.. se tiver problemas vou pedir ajuda =P heheheheh valeu rapaziada… PS: bom descanso pra todos.. afinal já são wuase 18:00 =] |

