eheheheheh Eric, na verdade estava lendo sobre DDD e outra coisa sobre arquitetura de 5 camadas, sacou? Acho que me expressei mal.. =)
Mas, o exemplo que citastes, foi bom. A única pulga que estava atrás de minha orelha era sobre o return do listarEvento(). Atualmente, estava fazendo isso no controller, mas vi que tava meio contraditório quanto ao conceito do MVC. No mais, tudo ok! Vou atrás dos livros e materiais recomendados pra dar uma estudada mais sobre. Valeu! Vinicius 2009/2/11 Marcus Cavalcanti <[email protected]> > heheh as vezes dá vontade mesmo qdo vc vê vários conceitos, por isso é > importante conhecer sempre mais para filtrar oq faz sentido para o que te > deixa louco... > > > > 2009/2/11 Newton Wagner <[email protected]> > > Estudar ou sair correndo, né? heheheheh >> >> (essa foi só pra descontrair! :P) >> >> 2009/2/10 Marcus Cavalcanti <[email protected]>: >> > Fala Vinicus.. DDD é um pouco sobre do que estamos tentando falar, se >> > aprofunde que vale a pena, cada vez que vc se aprofundar, mais vai >> perceber >> > que sabia menos das coisas hehe isso é normal, por isso as vezes a >> > ignorância uma dádiva, mas em outros casos não hehe >> > >> > Mas vamos lá, então, isso é uma questão bem conceitual mesmo... não é >> que o >> > CI está errado, acho que ele apenas não dá um suporte NATIVO para >> aplicações >> > mais complexas, mas nada que você possa extendê-lo, como eu faço por >> exemplo >> > no caso do services, sacou? Na verdade ele implementa o MVC certo, pois >> ele >> > separa as coisas, agora como as pessoas fazem o seu uso, aí é outra >> coisa.. >> > uma coisa que eu acho importante citar é que nesse caso não existe o >> certo >> > e o errado e a verdade e a mentira, o que existe é uma preocupação para >> > quando o buraco ficar mais embaixo.. se você faz da forma X e te atende >> > muito bem, vc não tem problemas, consegue dar manutenção, extender e >> etc, ok >> > ótimo, te atende, para que você vai mudar? Agora se você começar a >> perceber >> > ao conhecer uma nova abordagem que o que você usava pode ser melhorado, >> é >> > bom vc começar a pensar nisso, o que eu quero dizer é "Não tente matar >> uma >> > mosca com um tiro do canhão". >> > >> > A gente tá falando de aplicações enterprise, ou seja, aplicações com um >> > certo tamanho, onde é importante você deixar as coisas menos acopladas >> > possíveis e mais coesas também. Por exemplo, ActiveRecord, se vc for >> parar >> > pra pensar na essencia é um anti-pattern, mas em muitos casos ele dá uma >> > agilidade e velocidade de desenvolvimento que fazer o seu uso é muito >> bom. >> > Da mesma forma que as vezes você usar Activerecord em alguns casos não é >> > bom, é melhor começar a pensar em soluções que implementem um ORM por >> > exemplo. >> > >> > No seu caso de usuários x emails, você poderia pensar da seguinte forma: >> > >> > - É um usuário que conhece um email ou um email que conhece um usuário? >> > - Um email precisa de alguém para ser enviado, esse alguém é um usuário? >> > - Você precisa ter uma entidade para relação email_x_usuario? Eu >> > sinceramente acredito que nao, pq o dominio da sua aplicacao fala de >> usuario >> > e email e não de uma relação, nesse caso um "select * from >> email_x_usuario >> > where id_usuario = ?" não resolveria o problema? e onde isso ficaria? >> > acredito que no modelo de usuario, mas depende. >> > >> > Por isso que é importante vc analisar seu cenário, não tem uma receita >> de >> > bolo feita, cada aplicação tem um contexto e particularidades o >> importante >> > nesse caso é conhecer as alternativas para ver a que melhor te atende. >> > >> > Engenheria de software é algo ainda recentemente novo, comparo por >> exemplo a >> > uma engenharia civil por exemplo, portanto ainda é algo que cabem muitas >> > definições, opniões, conceitos, por isso que a parada é estudar mesmo :) >> > >> > 2009/2/10 Newton Wagner <[email protected]> >> >> >> >> Adicionando um pouco de sal à dúvida, neste caso pode-se considerar >> >> que e-mail seria uma entidade fraca, ou seja, ela não existe sem o >> >> usuário. Mas e se for uma entidade forte? Vocês tratariam da mesma >> >> forma? :) >> >> >> >> >> >> 2009/2/10 Vinicius Cruz <[email protected]>: >> >> > Roberto >> >> > faz sentido. Li uma vez no manual, se não me engano, dizendo que para >> >> > cada >> >> > tabela deveria ter um model... oO >> >> > Não lembro exatamente onde foi, mas essa discussão está quebrando >> vários >> >> > paradigmas (pelo menos pra mim). >> >> > >> >> > Vinicius >> >> > 2009/2/10 Roberto A. Longhi <[email protected]> >> >> >> >> >> >> Salve Vinicius blz ? >> >> >> >> >> >> =] >> >> >> Bom to entrando de gaiato na história, mas tenho algumas duvidas >> >> >> referente >> >> >> a isso, e vou colocar algumas considerações. >> >> >> >> >> >> No caso que você ilustrou do usuário com vários emails, acredito que >> o >> >> >> ideal é deixar a consulta de emails no mesmo model, neste caso o >> model >> >> >> de >> >> >> usuário, para evitar carregar outros models. >> >> >> >> >> >> $queryUsuario = $this->Usuariomodel->getLista(); >> >> >> foreach($queryUsuario->result() as $row) >> >> >> { >> >> >> $idusuario = $row->idusuario; >> >> >> $emails[$idusuario] = >> $this->Usuariomodel->getEmails($idusuario); >> >> >> } >> >> >> Estou levando para o lado que o model controla todas as informações >> >> >> relacionados a aquela entidade (no caso o usuário). Mesmo que ela >> seja >> >> >> armazenada em outra tabela (nesse caso uma tabela de emailXusuario. >> >> >> >> >> >> Faz sentido ? >> >> >> >> >> >> Vinicius Cruz escreveu: >> >> >> >> >> >> Ok, Marcus. >> >> >> Esses dias estava dando uma lida sobre DDD. Li algo sobre >> arquitetura >> >> >> de 5 >> >> >> camadas, e estou tentando me aprofundar cada vez mais no assunto. >> >> >> Alias, to >> >> >> indo hoje fazer uma entrevista pra pós de engenharia de software. >> Vou >> >> >> meter >> >> >> as caras nos livros!! =D >> >> >> Agora, sempre surge novas duvidas. Por exemplo: uma vez foi postado >> na >> >> >> lista, sobre como recuperar a lista de alguma coisa de um usuário. >> Por >> >> >> exemplo: um usuário tem vários emails cadastrados, em uma tabela de >> >> >> relacionamento. Como recuperar a lista de usuários e seus emails? >> >> >> Como eu faço atualmente. No controller: >> >> >> $queryUsuario = $this->Usuariomodel->getLista(); >> >> >> foreach($queryUsuario->result() as $row) >> >> >> { >> >> >> $emails[$row->idusuario] = >> >> >> $this->Emailsmodel->consulta_emails($row->idusuario); >> >> >> } >> >> >> Mas entrei em profunda depressão em saber que o CI não aborda o MVC >> >> >> como >> >> >> conceituado (ou pelo menos dá margem ao erro). eheheheheh >> >> >> Mas a questão é: tá errado fazer assim? Qual seria uma outra >> abordagem? >> >> >> Vinicius >> >> >> 2009/2/10 Djalma Araújo | www.djalmaaraujo.com.br >> >> >> <[email protected]> >> >> >>> >> >> >>> Então, pode crer... >> >> >>> a idéia é apenas o usuário enviar a imagem dele no portfolio e >> >> >>> atualizar >> >> >>> no banco.. essa atualizacao eu utilizo um funcao o model.. >> >> >>>> >> >> >>> >> >> >>> _______________________________________________ >> >> >>> 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 >> >> >> >> >> >> >> >> >> -- >> >> >> Roberto Almeida Longhi >> >> >> Programador >> >> >> Contmatic >> >> >> (11) 2942 6700 Ramal 1404 >> >> >> (11) 8599 9022 >> >> >> www.contmatic.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 >> >> > >> >> > >> >> >> >> >> >> >> >> -- >> >> Newton Wagner >> >> >> >> skype: newtonwagner >> >> msn/gtalk: [email protected] >> >> >> >> http://www.newtonwagner.net/ >> >> - http://www.owshit.com.br/ >> >> >> >> _______________________________________________ >> >> Lista mailing list >> >> [email protected] >> >> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >> > >> > >> > >> > -- >> > Marcus Cavalcanti >> > 21 9144-5068 >> > www.marcuscavalcanti.net/blog >> > >> > _______________________________________________ >> > Lista mailing list >> > [email protected] >> > http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >> > >> > >> >> >> >> -- >> Newton Wagner >> >> skype: newtonwagner >> msn/gtalk: [email protected] >> >> http://www.newtonwagner.net/ >> - http://www.owshit.com.br/ >> >> _______________________________________________ >> Lista mailing list >> [email protected] >> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >> > > > > -- > Marcus Cavalcanti > 21 9144-5068 > www.marcuscavalcanti.net/blog > > _______________________________________________ > 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

