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

Responder a