Mas pensem, se eu colocar a validação dentro do model e quiser trocar o banco de dados...???
Isso vai me dar uma grande dor d cabeça... Regra de negocio eu chamo de validações, ifs e elses etc que vai dizzer o que fazer...pra mim nao ta tendo logica isso ficar dentro do model. Abraços 2009/2/5 Eric Saboia (Fortes Informatica) <[email protected]> > Se os "criadores" do CI trabalham de forma errada, porque algum de nós > faria diferente? Fiquei com a pulga atrás da orelha agora em relação ao CI > :( > > ----- Original Message ----- > *From:* Vinicius Cruz <[email protected]> > *To:* CodeIgniter Brasil <[email protected]> > *Sent:* Thursday, February 05, 2009 3:00 PM > *Subject:* Re: [CodeIgniter] MVC de verdade > > Acho que aprendi tudo errado ... O_o > O sistema aqui do trampo tá igual ao Bamboo. > > 2009/2/5 Luciano Soares <[email protected]> > >> Mais informações >> >> http://java.sun.com/blueprints/patterns/MVC-detailed.html >> >> Participants & Responsibilities >> >> The MVC architecture has its roots in Smalltalk, where it was originally >> applied to map the traditional input, processing, and output tasks to the >> graphical user interaction model. However, it is straightforward to map >> these concepts into the domain of multi-tier enterprise applications. >> >> >> - *Model* - The model represents enterprise data and the *business >> rules* that govern access to and updates of this data. Often the model >> serves as a software approximation to a real-world process, so simple >> real-world modeling techniques apply when defining the model. >> - *View* -The view renders the contents of a model. It accesses >> enterprise data through the model and specifies how that data should be >> presented. It is the view's responsibility to maintain consistency in its >> presentation when the model changes. This can be achieved by using a push >> model, where the view registers itself with the model for change >> notifications, or a pull model, where the view is responsible for calling >> the model when it needs to retrieve the most current data. >> - *Controller* - The controller translates interactions with the view >> into actions to be performed by the model. In a stand-alone GUI client, >> user >> interactions could be button clicks or menu selections, whereas in a Web >> application, they appear as GET and POST HTTP requests. The actions >> performed by the model include activating business processes or changing >> the >> state of the model. Based on the user interactions and the outcome of the >> model actions, the controller responds by selecting an appropriate view. >> >> >> >> 2009/2/5 Luciano Soares <[email protected]> >> >>> Bom nesse link da wikiedia em ingles explica o tradicional modelo MVC >>> (que é diferente daquele implementado pelo CI devido as restrições de não >>> criãção de observers em PHP) >>> >>> http://en.wikipedia.org/wiki/Model-view-controller >>> >>> As a design pattern >>> >>> MVC encompasses more of the architecture of an application than is >>> typical for a design >>> pattern<http://en.wikipedia.org/wiki/Design_pattern_%28computer_science%29> >>> .[*citation needed<http://en.wikipedia.org/wiki/Wikipedia:Citation_needed> >>> *] >>> Model Is the *domain*-specific representation of the information on >>> which the application operates. Domain logic adds meaning to raw data (for >>> example, calculating whether today is the user's birthday, or the totals, >>> taxes, and shipping charges for shopping cart items). Many applications >>> use a persistent storage mechanism (such as a database) to store data. MVC >>> does not specifically mention the data access layer because it is understood >>> to be underneath or encapsulated by the model. View Renders the model >>> into a form suitable for interaction, typically a user >>> interface<http://en.wikipedia.org/wiki/User_interface>element. Multiple >>> views can exist for a single model for different purposes. >>> Controller Processes and responds to events (typically user actions) and >>> may indirectly invoke changes on the model. >>> >>> 2009/2/5 Luciano Soares <[email protected]> >>> >>> Controladores se preocupam apenas com o fluxo das operações dentro de >>>> um modelo MVC. >>>> >>>> O modelo é onde ficam as regras de negócio. >>>> >>>> 2009/2/5 Cairo Noleto <[email protected]> >>>> >>>>> No Rails, os métodos de um controller são chamadas de actions, que >>>>> realmente passam a ação do que se vai fazer, em um crud temos as seguintes >>>>> ações: >>>>> >>>>> Create, Read, Update e Destroy. >>>>> >>>>> no rails teríamos os seguintes métodos >>>>> >>>>> def index >>>>> end >>>>> def new >>>>> end >>>>> def edit >>>>> end >>>>> def save >>>>> end >>>>> def destroy >>>>> end >>>>> def show >>>>> end >>>>> >>>>> Isso seria as ações da aplicação. >>>>> >>>>> "Um colaborador pode criar uma nova venda" sales/new >>>>> "Um colaborador pode vizualizar uma venda" sales/1/show >>>>> "Um colaborador pode editar uma venda" sales/2/edit >>>>> "Um colaborador pode excluir uma venda" sales/1/destroy >>>>> >>>>> Claro que isso é a grosso modo, hoje existe formas melhores de se fazer >>>>> isso no rails usando o conceito de rest web service. Mas idéia é >>>>> justamente >>>>> essa, fazer com que um determinado controle expresse apenas as ações >>>>> >>>>> 2009/2/5 Cleyverson Costa <[email protected]> >>>>> >>>>>> Eric, >>>>>> >>>>>> >>>>>> De tudo o que ja li, o uso correto é da seguinte forma: >>>>>> >>>>>> Model >> Aqui tem basicamente as chamadas ao BD. Pense na se seguinte >>>>>> situação. Opa minha empresa vai mudar de banco de dados, entao as >>>>>> consultas >>>>>> SQL deverao ser modificadas. Se vc tiver no model apenas as chamadas ao >>>>>> banco, vc modifica apenas esta camada. Vc modifica os sql e todo o resto >>>>>> continua funcionando. >>>>>> >>>>>> Controller >> Aqui ficam as regras de negocio e validações etc. Tudo >>>>>> fica aqui. Esta é sua camada de negocio. >>>>>> >>>>>> View >> Aqui fica a apresentação. Muita gente acaba colocando o >>>>>> utf8_encode/decode na view, mas acho que nao seria uma boa pratica. >>>>>> Quanto >>>>>> mais limpo vc puder deixar a view (usando o controller) melhor. >>>>>> >>>>>> Depois de muito apanhar esta foi a forma que eu acabei achando como >>>>>> mais correta. Estou usando esta estrutura no site www.ezmatch.netcaso >>>>>> queira dar uma olhada. >>>>>> >>>>>> Abraços >>>>>> >>>>>> 2009/2/5 Eric Saboia (Fortes Informatica) < >>>>>> [email protected]> >>>>>> >>>>>>> Pessoal, pedi antes de ontem um exemplo de aplicação bem feita em >>>>>>> CI, me indicaram o http://www.bambooinvoice.org/ . Eu estava >>>>>>> querendo checar o uso do MVC dentro de uma aplicação em CodeIgniter, >>>>>>> mas me >>>>>>> deparei com o mesmo "erro" que julgava estar acontecendo aqui na >>>>>>> empresa. O >>>>>>> controller tá cheio de regras de negócio, assim como validações e etc. >>>>>>> Isso >>>>>>> tudo não deveria estar no Model? Pois até onde sei o modelo representa >>>>>>> tanto >>>>>>> a persistência, quanto o negócio, enquanto o Controller é responsável >>>>>>> unicamente pelo fluxo da aplicação. >>>>>>> >>>>>>> Opniões? >>>>>>> >>>>>>> Eric Saboia >>>>>>> Desenvolvimento Web >>>>>>> Fortes Informática (Fortaleza) >>>>>>> Fone: (85) 4005-1111 >>>>>>> [email protected] >>>>>>> www.grupofortes.com.br >>>>>>> >>>>>>> _______________________________________________ >>>>>>> Lista mailing list >>>>>>> [email protected] >>>>>>> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >>>>>>> >>>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> Lista mailing list >>>>>> [email protected] >>>>>> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> Cairo Noleto >>>>> ========= >>>>> Cairo'sBlog - http://www.caironoleto.com/ >>>>> Web developer - Add4 Comunicação - http://www.add4.com.br/ >>>>> >>>>> >>>>> _______________________________________________ >>>>> Lista mailing list >>>>> [email protected] >>>>> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >>>>> >>>>> >>>> >>> >> >> _______________________________________________ >> Lista mailing list >> [email protected] >> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >> >> > ------------------------------ > > _______________________________________________ > Lista mailing list > [email protected] > http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br > > > _______________________________________________ > Lista mailing list > [email protected] > http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br > >
_______________________________________________ Lista mailing list [email protected] http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br

