Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ro.fonseca

[Resolvido] Acessar dinamicamente uma variavel d

Recommended Posts

Hmmm... Não sabia que era obrigação da Model verificar, dentre outras coisas, se o campo é nulo.

 

Achava que era o Controller, afinal a conversa com a Model só ocorrerá se ele tiver um assunto (no caso o nome do usário).

Compartilhar este post


Link para o post
Compartilhar em outros sites

Achava que era o Controller, afinal a conversa com a Model só ocorrerá se ele tiver um assunto (no caso o nome do usário).

 

Certo, agora veja bem, o controller nada mais é do que uma ponte para comunicação com a model, sua responsabilidade é estabelecer um contato entre ambos os componentes de forma que nenhum conheça o outro, pense em um taxista e um cliente .. um cliente deseja ir pra algum lugar, pra isso há um custo, então ele tem que pagar para poder se locomover

 

Então, até o momento, já temos um caminho andado, qual é a ação ? chegar ao destino , só isso que o controller precisa saber .. no caso o controller será o taxista .. certo ? então, assumimos a model, o cliente tem a quantia necessária para essa locomoção ? tem .. ? continuamos a viagem ..

 

Quando a quantia é requisitada, já não se trata mais do controller verificar essa quantia, pense no Traveling Salesman Problem , ele não vai acessar uma fonte de dados ? .. quem acessa fonte de dados ? a model .. então ela tem que ver quantos km foram/serão percorridos para retornar qual será o valor da viagem ..

 

É muito diferente de verificar se está nulo .. isso você pode fazer no controller .. ou até mesmo antes de chamar o método, o mais certo seria você fazer no controller, pois na mesma mão que ia, nem ia passar na model, entravamos na view informando o problema .. enfim .. continuando

 

Cliente chega ao destino , quantia retornada em base nos km's percorridos ( model ... ) , view processa esse valor, e emite no vísor qual será o valor dessa locomoção ..

 

Simples assim ..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Copy that!

 

Então as validações de nível mais básico pode ocorrer tanto no Controller, quanto na Model.

 

Pessoalmente acho mais legível esse bê-a-bá da verificação ocorrer no Controller.

 

Se formos usar o exemplo do taxista, o cliente só vai chamá-lo se ele precisar ir para algum lugar longe ao invés de ele entrar no carro, dizer o destino e ouvir um "Seu otário, é logo ali na esquina!" :lol:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então as validações de nível mais básico pode ocorrer tanto no Controller, quanto na Model.

Exato .. mas validações que hajam condições de tipos, como '[A-Z]' ou seja .. somente nomes com letra maiúscula, isso deve ser feito na model .. lá é que será decidido se será pesquisado ou não, não tem sentido esse tipo de validação no controller, afinal, o controller desconhece as regras ..

 

Pessoalmente acho mais legível esse bê-a-bá da verificação ocorrer no Controller.

Hmmm .. pra nulo ? sim .. você poupa a model dessas verificações .. apesar de que, evita a criação de um objeto no qual a resposta será mútua

 

Se formos usar o exemplo do taxista, o cliente só vai chamá-lo se ele precisar ir para algum lugar longe ao invés de ele entrar no carro

Quando você recebe um comando, sua obrigação é interpretar a requisição, então existem casos e casos, casos em que a requisição pode ser feita, interpretada, e respondida, casos em que não podemos atender a demanda ..

 

Não existe, 'posso atender mas quantos passos você vai dar pra chegar no carro ?' .. afinal, esse tipo de informação, já nem passa a ser uma verificação, e sim regra de negócio, ou seja, você terá uma regra pra um certo limite de passos até o veículo .. entretanto, o controller não faz perguntas, nem formula regras ..

 

Afinal, esse tipo de pensamento seu é pura retórica ..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Imaginem uma situação em que um metodo do Model seja chamado diversas vezes em lugares diferentes do proprio controlador ou em um outro controlador, será que é mais robusto e seguro fazer todas essas validações no proprio controller? E portanto repeti-las sempre q for chama-la, ou deixa-la unicamente no Model??? Acho q é por isso q toda as regras de negocios, validações, tratamento devem ser feitas no Model... Até pq, se algo for mudado qt a isso, a unica camada q sera alterada, será o Model.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.