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

