[CodeIgniter] Definição de Controller, Modelo (novamente)

Newton Wagner newtonweb em gmail.com
Quinta Dezembro 6 10:22:04 BRST 2007


Resumo:

- Modelo: Camada de negócio e, no caso do CI, também de persistência.
Nada te impede de ter outra camada só pra persistência, caso ache
melhor.

- Visualização: Camada de apresentação da aplicação. Tem a
inteligência de exibição das informações para o usuário.

- Controle: Camada responsável por intermediar a comunicação do
usuário (realizada através do uso de uma interface (visualização) e as
regras de negócio da aplicação (modelo).


Esquentando um pouco mais a discussão:

Qual camada deve ser responsável por validar os dados digitados pelo
usuário numa tela de inclusão?


-- 
Newton Wagner

skype: newtonwagner
msn/gtalk: newtonweb em gmail.com

http://www.newtonwagner.net/blog
- http://www.owshit.com.br/


Em 06/12/07, Luciano Soares<lussterl em gmail.com> escreveu:
> Osdeni está errado sim. Pelo menos até onde meus conhecimentos e estudos
> alcançam.
>
> Na outra thread que estamos falando disso eu passei mais informações.
>
> Mas acho essa uma discussão boa pra todo o pessoal.
>
> Continuamos pela outra thread ou por essa?
>
> Vou mandar aqui o conteúdo de novo.
>
> Essa assunto sobre regras de negócio e MVC já foi discutido pelo pessoal do
> grupo da lista php que participo há um tempo.
>
> Estou procurando aqui o link pra thread.
>
> Mas achei ese conteúdo aqui.
>
>
>  "A arquitetura MVC - (Modelo Visualização Controle) fornece uma maneira de
> dividir a funcionalidade envolvida na manutenção e apresentação dos dados de
> uma aplicação. A arquitetura MVC não é nova e foi originalmente desenvolvida
> para mapear as tarefas tradicionais de entrada , processamento e saída para
> o modelo de interação com o usuário. Usando o padrão MVC fica fácil mapear
> esses conceitos no domínio de aplicações Web multicamadas.
>
> Na arquitetura MVC o modelo representa os dados da aplicação e as regras do
> negócio que governam o acesso e a modificação dos dados. O modelo mantém o
> estado persistente do negócio e fornece ao controlador a capacidade de
> acessar as funcionalidades da aplicação encapsuladas pelo próprio modelo.
>
> Um componente de visualização renderiza o conteúdo de uma parte particular
> do modelo e encaminha para o controlador as ações do usuário; acessa também
> os dados do modelo via controlador e define como esses dados devem ser
> apresentados.
>
> Um controlador define o comportamento da aplicação , é ele que interpreta as
> ações do usuário e as mapeia para chamadas do modelo. Em um cliente de
> aplicações Web essas ações do usuário poderiam ser cliques de botões ou
> seleções de menus. As ações realizadas pelo modelo incluem ativar processos
> de negócio ou alterar o estado do modelo. Com base na ação do usuário e no
> resultado do processamento do modelo , o controlador seleciona uma
> visualização a ser exibida como parte da resposta a solicitação do usuário.
> Há normalmente um controlador para cada conjunto de funcionalidades
> relacionadas."http://www.macoratti.net/vbn_mvc.htm
>
> Então, o modelo seria responsável por representar e persistir os dados além
> das regas de negócio.
>
> A visão renderiza o conteúdo e encaminha as ações para o contralador.
>
> O controlador é o responsável por toda a interconexão das acções com os
> dados.
>
>
>
>
> Em 06/12/07, Osdeni José Sadzinski < osdeni em gmail.com> escreveu:
> >
> > No Controller ficam as regras de negócio (if elses, direções, validações
> entre outros, e chamadas de models)
> > Ja no modelo ficam as persistências dos dados (sqls)
> >
> > Estou errado?
> >
> > --
> > Atenciosamente,
> >
> > Osdeni José Sadzinski
> > E-mail: osdeni em gmail.com
> > MSN: osdeni em hotmail.com
> > _______________________________________________
> > Lista mailing list
> > Lista em codeigniter.com.br
> >
> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
> >
> >
>
>
> _______________________________________________
> Lista mailing list
> Lista em codeigniter.com.br
> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>
>



Mais detalhes sobre a lista de discussão Lista