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

Responder a