<?xml version="1.0" encoding="ISO-8859-1"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Últimas mensagens do tópico "Mais Sobre Melhores Práticas com TO"]]></title>
		<link>http://www.guj.com.br/posts/list/12.java</link>
		<description><![CDATA[Últimas mensagens enviadas no tópico "Mais Sobre Melhores Práticas com TO"]]></description>
		<generator>JForum - http://www.jforum.net</generator>
			<item>
				<title>Mais Sobre Melhores Práticas com TO</title>
				<description><![CDATA[ Olá GUJ's..<br /> <br /> No projeto de final de curso da faculdade estamos utilizando o TO para tranferir dados entre camada de controle e negócio. Já a troca de dados entre camada de apresentação e controle tenho algumas dúvidas mas postei essas dúvidas aqui no GUJ neste endereço...<br /> <br /> http://www.guj.com.br/posts/list/21002.java<br /> <br /> Agora gostaria de entrar em alguns detalhes de implementação do TO.<br /> <br /> No meu projeto estou utilizando na camada de negócio os patterns.<br /> <br /> [list]Façade[/list]<br /> [list]Application Services[/list]<br /> [list]Businnes Objects (BO)[/list]<br /> [list]Transfer Objects (TO)[/list]<br /> [list]Data Access Objects (DAO)[/list]<br /> <br /> Em geral, é no façade onde a histório começa recebendo um TO por parâmetro..... e ele por sua vez quando precisa retornar dados para a camada controle sempre vai retornar um TO.<br /> <br /> Mas a minha dúvida principal é:<br /> Qual é a melhor forma para converter um BO em um TO e vice versa???? Vou listar abaixo algumas sugestões que andei pensando, daí eu gostaria da opinião e sugestões de vocês se for possível.<br /> <br /> Opção 1: Utilizar um método setData e getData dentro do BOfortemente acoplado com código de conversão.<br /> <br /> [code]<br /> public class AlunoBO {<br />     <br />     // atributos<br /> <br />     // métodos acessores<br /> <br />     // método para converter TO para BO<br />     public void setData(AlunoTO to) {<br />         // conteúdo do método para conversao<br />         // exemplo : this.atributo = to.getAtributo();<br />     }<br /> <br />     // método para converter BO para TO e vice versa<br />     public AlunoTO getData() {<br />         // conteúdo do método para conversao<br />         // exemplo : to.setAtributo(this.atributo);<br />         return to;<br />     }<br /> }<br /> [/code]<br /> <br /> Opção 2: Utilizar método setData e getData dentro do BO, no entanto, com  o código de conversão dentro de uma classe separada responsável somente pela conversão.<br /> <br /> [code]<br /> public class AlunoBO {<br />     <br />     // atributos<br /> <br />     // métodos acessores<br /> <br />     // método para converter TO para BO<br />     public void setData(AlunoTO to) {<br />         // Chama uma classe responsável pela conversão<br />         AlunoConversao alunoConversao = new AlunoConversao();<br />         this = alunoConversao.convertoParaBO(to);<br />     }<br /> <br />     // método para converter BO para TO e vice versa<br />     public AlunoTO getData() {<br />         // Chama uma classe responsável pela conversão<br />         AlunoConversao alunoConversao = new AlunoConversao();<br />         alunoConversao.convertoParaTO(this);<br />     }<br /> }<br /> [/code]<br /> <br /> <br /> Opção 3: Eliminar os métodos setData e getData do BO. Toda a conversão deverá ocorrer no ApplicationService, Action, Command ou Façade.<br /> <br /> [code]<br /> public class AplicacaoFacade {<br /> <br />     // método para converter TO para BO<br />     public void cadastraAluno(AlunoTO to) {<br />         AlunoBO bo = new AlunoBO();<br />         AlunoConversao conversao = new AlunoConversao();<br />         bo = conversao.converteParaBO(to);<br />         <br />        // realiza outras atividades <br /> <br />     }<br /> }<br /> [/code]<br /> <br /> Bom, essas são as opções que pensei... Eu aprecio mais a terceira opção, mas como sou inexperiente, acredito que você devem ter terceiras, quartas, quintas e até vigésimas opções!!!<br /> <br /> Desde já agradeço!<br /> Thiago Senna]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/21007/111111/mais-sobre-melhores-praticas-com-to
</guid>
				<link>http://www.guj.com.br/prepost/21007/111111/mais-sobre-melhores-praticas-com-to
</link>
				<pubDate><![CDATA[Thu, 3 Mar 2005 08:49:02]]> GMT</pubDate>
				<author><![CDATA[ Thiago Senna]]></author>
			</item>
			<item>
				<title>Mais Sobre Melhores Práticas com TO</title>
				<description><![CDATA[ Voce precisa de todos esses objetos auxiliares mesmo? Pq, se consistirem basicamente nas mesmas propriedades, eh meio overkill vc ter esse trabalho todo. <br /> <br /> Rafael]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/21007/111113/mais-sobre-melhores-praticas-com-to
</guid>
				<link>http://www.guj.com.br/prepost/21007/111113/mais-sobre-melhores-praticas-com-to
</link>
				<pubDate><![CDATA[Thu, 3 Mar 2005 08:57:41]]> GMT</pubDate>
				<author><![CDATA[ Rafael Steil]]></author>
			</item>
			<item>
				<title>Re: Mais Sobre Melhores Práticas com TO</title>
				<description><![CDATA[ Olá Rafael!!!<br /> <br /> Bom... eu coloquei tudo isso de patterns realmente para aprender, já que o mercado aprecia profissionais com conhecimento em patterns.... por isso fiz um overload de patterns no projeto... hehe!!!<br /> Eu estava imaginando que as soluções fossem boas.. mas esse é meu ponto de vista!!! Por isso preciso da opinião de vocÊs que já tem vivência no assunto.<br /> <br /> Quando você diz Overkill quer dizer que tem muitas Muita classe, muito pattern??? Quais serão as consequências deste overkill???<br /> <br /> Um Abraço!<br /> Thiago]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/21007/111116/re-mais-sobre-melhores-praticas-com-to
</guid>
				<link>http://www.guj.com.br/prepost/21007/111116/re-mais-sobre-melhores-praticas-com-to
</link>
				<pubDate><![CDATA[Thu, 3 Mar 2005 09:07:53]]> GMT</pubDate>
				<author><![CDATA[ Thiago Senna]]></author>
			</item>
			<item>
				<title>Re: Mais Sobre Melhores Práticas com TO</title>
				<description><![CDATA[ quanto mais objetos, "teoricamente" mais pesada ficara sua app.<br /> o que me parece como o Rafael disse, que seus To's e BO's parecem ter a mesma finalidade, encapsular os dados.<br /> acho que DAO -&gt; TO -&gt; FACADE - &gt; BUSINESS DELEGATE -&gt; VIEW, usando o TO para transferir os dados pelas camadas, seriam suficientes.<br /> Mas isso depende de cada caso.<br /> Eu gosto por exemplo, de em vez de criar varios TO's, eu crio um unico, que é um hashmap, e sempre uso ele.em compensação tenho varios arquivos para definir as chaves desse objeto.<br /> depende muito do caso.<br /> flw!<br /> <br /> []'s]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/21007/111119/re-mais-sobre-melhores-praticas-com-to
</guid>
				<link>http://www.guj.com.br/prepost/21007/111119/re-mais-sobre-melhores-praticas-com-to
</link>
				<pubDate><![CDATA[Thu, 3 Mar 2005 09:19:47]]> GMT</pubDate>
				<author><![CDATA[ jgbt]]></author>
			</item>
			<item>
				<title>Re: Mais Sobre Melhores Práticas com TO</title>
				<description><![CDATA[ Deixe-me aproveitar o gancho e tirar uma outra dúvida.<br /> <br /> Implementei algumas coisas usando esta estrutura usando TO, BO e Façade, mas eu senti que muitas vezes o BO é desnecessário. Só o TO já é o suficiente para fazer o cadastro de um aluno.<br /> <br /> Mas quando há cálculos, relacionamentos e etc??? Por exemplo, suponha que você tenha que calcular a média final do Aluno.<br /> <br /> Então esse tipo de método não pode ficar no TO, mas sim no BO!!!<br /> <br /> MInha pergunta é: Eu deveria realizar a conversão de TO para BO só quando fosse realmente necessário.. ou seja, em casos onde eu precisasse e dependesse de métodos de negócio ou relacionamento com outras classes???<br /> <br /> Valeu!<br /> Thiago]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/21007/111123/re-mais-sobre-melhores-praticas-com-to
</guid>
				<link>http://www.guj.com.br/prepost/21007/111123/re-mais-sobre-melhores-praticas-com-to
</link>
				<pubDate><![CDATA[Thu, 3 Mar 2005 09:27:52]]> GMT</pubDate>
				<author><![CDATA[ Thiago Senna]]></author>
			</item>
			<item>
				<title>Mais Sobre Melhores Práticas com TO</title>
				<description><![CDATA[ Nao somente isso, mas tambem a real necessidade de ter um TO / DTO alem das entidades normais. Por exemplo, se vc tem<br /> <br /> [code]<br /> class Noticia {<br />     id, texto, titulo, data;<br /> <br />     // get / set<br /> }<br /> <br /> class NoticiaDTO {<br />     id, texto, titulo, data;<br /> <br />     // get / set<br /> }<br /> [/code]<br /> <br /> eh algo que somente ira adicionar camadas a mais / complexidade desnecessaria na sua aplicacao, ja que vc tem que ficar mantendo varias classes com praticamente a mesma finalidade. Talvez o DTO tenha ligeiramente mais ou menos campos, ou entao a entidade tenha um ou outro metodo que o DTO nao precisa, mas se isso nao tiver um impacto profundo na performance / se *realmente* nao for viavel usar a classe "normal", entao o DTO acabaria sendo um tanto dispensavel. <br /> <br /> Por outro lado, ja que vc esta fazendo testes para entender melhor como tudo funciona, nao teria mto pq se prender em tais "detalhes" nesse momento. Faca usando a sua abordagem inicial, e depois tente outras, mais simples, e veja o resultado. <br /> <br /> Rafael]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/21007/111124/mais-sobre-melhores-praticas-com-to
</guid>
				<link>http://www.guj.com.br/prepost/21007/111124/mais-sobre-melhores-praticas-com-to
</link>
				<pubDate><![CDATA[Thu, 3 Mar 2005 09:30:04]]> GMT</pubDate>
				<author><![CDATA[ Rafael Steil]]></author>
			</item>
			<item>
				<title>Re: Mais Sobre Melhores Práticas com TO</title>
				<description><![CDATA[ suas regras de negocio podem estar por exemplo dentro do(s) facade(s),  onde vc  chamaria os dao's necessarios e retornaria o objeto de resultado.<br /> somente os facades conhecem a sua forma de persitencia(DAO's), e os facades seriam invocados por exemplo por BusinessDelegate, que não teriam regra de negocio, somente fariam o lookup do facade e executariam os metodos.<br /> ainda acho os seus BO's com a mesma função dos TO's, ou não estamos falando da mesma coisa....<br /> <br /> []'s<br /> ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/21007/111128/re-mais-sobre-melhores-praticas-com-to
</guid>
				<link>http://www.guj.com.br/prepost/21007/111128/re-mais-sobre-melhores-praticas-com-to
</link>
				<pubDate><![CDATA[Thu, 3 Mar 2005 09:37:29]]> GMT</pubDate>
				<author><![CDATA[ jgbt]]></author>
			</item>
			<item>
				<title>Re: Mais Sobre Melhores Práticas com TO</title>
				<description><![CDATA[ Olá<br /> <br /> Os patterns surgiram da necessidade de compartilhar soluções. Para compartilhar alguma coisa é preciso uma linguagem comum e uma das  características importantes dos patterns é o nome. <br /> <br /> Agora vamos imaginar uma equipe nova que procura se familiarizar com patterns e ainda está aprendendo os nomes que se confundem porque alguns deles as vezes mudam de nome. <br /> <br /> Aí vem alguém e começa a chama-los por siglas como foi o caso do título deste tópico. Ora, quem aprendeu o nome Data Transfer Object pode ficar completamente perdido. Então vai procurar no google e acaba encontrando com o diabo do Bush. Vejam o primeiro link que aparece no google quando a gente procura por to:<br /> [url=http://www.google.com.br/search?q=to]google[/url]<br /> <br /> Sugiro fortemente que use o nome completo do pattern.<br /> <br /> []s<br /> Luca]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/21007/111129/re-mais-sobre-melhores-praticas-com-to
</guid>
				<link>http://www.guj.com.br/prepost/21007/111129/re-mais-sobre-melhores-praticas-com-to
</link>
				<pubDate><![CDATA[Thu, 3 Mar 2005 09:38:25]]> GMT</pubDate>
				<author><![CDATA[ Luca]]></author>
			</item>
			<item>
				<title>Re: Mais Sobre Melhores Práticas com TO</title>
				<description><![CDATA[ Olá Lucca!<br /> <br /> Depois deste post acho que nunca mais vou colocar apenas a sigla do Pattern!<br /> Valeu mesmo pelo toque!<br /> <br /> Quanto aos outros posts acho que terei que concordar com vocês!!!<br /> Estou convencido....<br /> <br /> Mas com tudo isso acho que talvez o meu maior problema seja ainda não conhecer realmente bém os Padrões DAO e Façade! Melhor dizendo.. acho que não conheço nenhum pattern realmente bém!<br /> <br /> FArei o seguinte. Começarei o projeto com a dica que o Rafael passou... ou seja, desenvolva com a idéia inicial. No entanto, durante o início do projeto ficarei atento as experiências que vocês postaram neste tópico, e de acordo eu for sentindo as dificuldades e for aprofundando meus conhecimentos nos padrões de projeto, tentarei encorajar minha equipe de projeto para fazermos um refactoring, e de pouco em pouco, sentindo os desafios e a complexidade inicial, iremos mudando para uma solução mais viável conforme vocês do grupo opinaram.<br /> <br /> Bom, pelo que vi, acho que em breve colocarei outros posts sobre  Façace, DAO e etc...<br /> <br /> Estou muito grato pela atenção do grupo!<br /> Um Abraço!<br /> Thiago Senna]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/21007/111144/re-mais-sobre-melhores-praticas-com-to
</guid>
				<link>http://www.guj.com.br/prepost/21007/111144/re-mais-sobre-melhores-praticas-com-to
</link>
				<pubDate><![CDATA[Thu, 3 Mar 2005 09:55:41]]> GMT</pubDate>
				<author><![CDATA[ Thiago Senna]]></author>
			</item>
			<item>
				<title>Re: Mais Sobre Melhores Práticas com TO</title>
				<description><![CDATA[ Mini dicionário deste tópico:<br /> <br /> DAO -&gt; [url=http://java.sun.com/blueprints/corej2eepatterns/Patterns/DataAccessObject.html]Data Access Object[/url]<br /> DTO -&gt; [url=http://java.sun.com/blueprints/corej2eepatterns/Patterns/TransferObject.html]Data Transfer Object[/url] (TO para os íntimos)<br /> FACADE -&gt; [url=http://c2.com/cgi/wiki?FacadePattern]Fachada mesmo[/url]<br /> BUSINESS DELEGATE -&gt; [url=http://java.sun.com/blueprints/corej2eepatterns/Patterns/BusinessDelegate.html]clica aqui[/url]<br /> VIEW -&gt; visualização<br /> <br /> Geral: [url]http://c2.com/cgi/wiki?DesignPatterns[/url]<br /> <br /> [url=http://java.sun.com/blueprints/corej2eepatterns/Patterns/]Uma imagem vale mais que mil palavras[/url]!<br /> <br />  <img src="http://www.guj.com.br/images/smilies/49869fe8223507d7223db3451e5321aa.gif" border="0"> ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/21007/111152/re-mais-sobre-melhores-praticas-com-to
</guid>
				<link>http://www.guj.com.br/prepost/21007/111152/re-mais-sobre-melhores-praticas-com-to
</link>
				<pubDate><![CDATA[Thu, 3 Mar 2005 10:00:51]]> GMT</pubDate>
				<author><![CDATA[ smota]]></author>
			</item>
			<item>
				<title>Re: Mais Sobre Melhores Práticas com TO</title>
				<description><![CDATA[ Se você colocar a regra de negócio do seu sistema num Façade e/ou achar que apenas DTOs (ou Data Transfer Objects <img src="http://www.guj.com.br/images/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0"> ) são suficientes, você nãoe stá trabalhando com um modelo Orientado a Objetos, mas sim algo imensamente procedural.<br /> <br /> Pense numa coisa: se você fosse reescrever isso numa linguagem procedural (e.g. C), você substituiria os métodos no façade por funções e os DTOs por registros e... pronto.<br /> <br /> Se isso é o que você quer ou não, não sou eu quem vai dizer, mas num modelo de objetos, você deve definir um conjuntod e objetos de domínio. DTOs são uma gambiarra (procure "gambiarra" no fórum para char milhões de posts sobre DTOs) e nãod evem ser usado fora de situações extremas.<br /> <br /> Crie objetos com comprotamento e atributos, não apenas um bando de dados agrupados que vão e vêm do SGBD. Não crie objetos por funcionaldiade. Crie objetos no seu sistema, que representam as entidades dele.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/21007/111158/re-mais-sobre-melhores-praticas-com-to
</guid>
				<link>http://www.guj.com.br/prepost/21007/111158/re-mais-sobre-melhores-praticas-com-to
</link>
				<pubDate><![CDATA[Thu, 3 Mar 2005 10:05:28]]> GMT</pubDate>
				<author><![CDATA[ pcalcado]]></author>
			</item>
			<item>
				<title>Re: Mais Sobre Melhores Práticas com TO</title>
				<description><![CDATA[   Olá,<br /> <br />   Assim como o Phillip e mais alguns aqui do forum eu nao gosto do uso de DTO, a nao ser que isso seja totalmente indispensavel (entenda como um objeto muito grande precisa ser trafegado pela rede). Entao eu sugiro alguns estudos a mais. Como voce disse que o objetivo é aprender depois de fazer usando DTO e as diversas maneiras que voce pensar com este modelo, de uma olhada em alguns posts aqui do GUJ, tais como:<br /> <br />   http://www.guj.com.br/posts/list/11147.java<br /> <br />   http://www.guj.com.br/posts/list/20668.java<br /> <br />   E faca sem usar DTO.<br /> <br />   Exemplificando sobre o código que tu postou.<br /> <br />   [code]public class Aluno {<br />      <br />      // atributos<br />      private String nome;<br />      private String sobreNome;<br /> <br />      // métodos acessores<br />      public void setNome(String nome) {<br />        this.nome = nome;<br />      }<br />      public void setSobreNome(String sobreNome) {<br />        this.sobreNome = sobreNome;<br />      }<br />      //<br />      public void adicionaAluno() {<br />        Codigo que adiciona o Aluno.<br />      }<br />  }[/code]<br /> <br />   O objeto Aluno seria unico no teu dominio, nao teriamos AlunoBO e AlunoVO/DTO duplicando código. No metodo adicionaAluno pode ser feito em conjunto com o padrao command, delegando esse trabalho para classes auxiliares. Nos links que postei tem um exemplo do CV um pouquinho mais completo.<br /> <br />   Completando a coleção de links:<br /> <br />   O porque nao usar DTO.<br /> <br />   http://www.martinfowler.com/bliki/AnemicDomainModel.html<br /> <br />   Alternativas:<br /> <br />   http://domaindrivendesign.org/<br /> <br />   http://martinfowler.com/eaaCatalog/domainModel.html]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/21007/111186/re-mais-sobre-melhores-praticas-com-to
</guid>
				<link>http://www.guj.com.br/prepost/21007/111186/re-mais-sobre-melhores-praticas-com-to
</link>
				<pubDate><![CDATA[Thu, 3 Mar 2005 10:47:31]]> GMT</pubDate>
				<author><![CDATA[ fabio.patricio]]></author>
			</item>
			<item>
				<title>Re: Mais Sobre Melhores Práticas com TO</title>
				<description><![CDATA[   Opa, o Phillip que me derrubar. :lol: <br />   Tentei postar nos outros dois e só recebi "Este tópico se encontra bloqueado".:shock: <br /> <br />   La vai o que escrevi pro outro post.<br /> <br />   Olá,<br /> <br />   Thiago tu quer deixar nós louco? 3 tópicos sobre o mesmo assunto.  Vá com calma, vamos discutir tudo em um só. :wink: <br /> <br />   Ha um tempo atras eu tambem tinha esta mesma duvida, colocar o DAO diretamente ligado as classes de negocio. Depois de algumas leituras, artigos pra cá, livros pra lá. Fucando em código de outros projetos aqui outro lá. Cheguei a uma conclusao que nao seria o melhor a se fazer, mas ai tive um problema, como abstrair o DAO?<br /> <br />   Bom pensando nisso eu fiz uma pequena arquitetura pra um sisteminha que construi, esta longe de ser uma otima arquitetura, mas gostei muito de trabalhar com ela, fora que foi muito facil colocar mais pessoas usando a mesma.<br /> <br />   Ela ficou mais ou menos assim.<br /> <br />   [code]public interface Session {<br />     public void save(Bean bean) {<br />     }<br />     public void delete(Bean bean) {<br />     }<br />     public void update(Bean bean) {<br />     }<br />     public Bean get(Serializable id) {<br />     }<br />     public List find(String criteriaSearch) {<br />     }<br /> }[/code]<br />   <br />   No meu Bean<br /> <br />   [code]public class Aluno implements Bean {<br />     //Atributos<br />     private transient Session session;<br />     private String nome;<br />     private String sobreNome;<br />     //Assecores<br />     public void setSession(Session session) {<br />       this.session = session;<br />     }<br />     public void setNome(String nome) {<br />       this.nome = nome;<br />     }<br />     ....<br />     public void addAluno(){<br />       this.session.save(this);<br />     }<br /> }[/code]<br /> <br />   Alguns detalhes, o atributo session da classe Aluno é adicionado via IoC entao nao é preciso se preocupar com ele. A unica classe que conhece o DAO é a implementacao de Session, o Bean nao quer nem saber onde estao sendo persistidos tudo, se é em banco, prevayler, ou arquivo texto. :D <br />   A implementacao de Session é criada quando eu inicio uma transacao, como eu tava usando WebWork isso era feito via interceptor e adicionado via IoC para quem precisa dela, como falei acima.<br />   Alguns problemas, algo que eu nao tinha pensado e o Lipe me alertou, caso de transacoes com mais de uma acao (save, delete, etc).<br />   Outra coisa que pode ser alterado é a forma das consultas, que hoje eu tava fazendo usando o padrao ValueListHandle, mas gostei de um exemplo que o CV colocou no post sobre Encapsulamento, ai to mudando isso.<br /> <br />   ]['s  ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/21007/111200/re-mais-sobre-melhores-praticas-com-to
</guid>
				<link>http://www.guj.com.br/prepost/21007/111200/re-mais-sobre-melhores-praticas-com-to
</link>
				<pubDate><![CDATA[Thu, 3 Mar 2005 11:18:04]]> GMT</pubDate>
				<author><![CDATA[ fabio.patricio]]></author>
			</item>
			<item>
				<title>Re: Mais Sobre Melhores Práticas com TO</title>
				<description><![CDATA[ esse tópico continua em<br /> <br /> <a class="snap_shots" href="http://www.guj.com.br/posts/list/21002.java" target="_blank" rel="nofollow">http://www.guj.com.br/posts/list/21002.java</a>]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/21007/111201/re-mais-sobre-melhores-praticas-com-to
</guid>
				<link>http://www.guj.com.br/prepost/21007/111201/re-mais-sobre-melhores-praticas-com-to
</link>
				<pubDate><![CDATA[Thu, 3 Mar 2005 11:18:51]]> GMT</pubDate>
				<author><![CDATA[ pcalcado]]></author>
			</item>
			<item>
				<title>Re: Mais Sobre Melhores Práticas com TO</title>
				<description><![CDATA[ Olá GUJ'S<br /> <br /> [quote=fabgp2001] Thiago tu quer deixar nós louco? 3 tópicos sobre o mesmo assunto. Vá com calma, vamos discutir tudo em um só.  [/quote]<br /> <br /> Primeiramente quero pedir desculpas pela bagunça que aprontei aqui no fórum criando três tópicos que abordavam sobre o mesmo assunto!<br /> Foi sem querer mesmo, eu confundi fórum com grupo de discussão!<br /> <br /> Minhas sinceras desculpas!<br /> <br /> Quanto ao post do fabgp2001, quero dizer que achei muito boa a tua arquitetura! NO entanto, eu ainda nem sei o que é IoC. Mas viu, não precisa se preocupar não. Acho que a conversa já entrou em um nível além do meu conhecimento. Mas como a solução é ótima eu vou dar uma olhada nisso urgentemente.  Vou ler os tópicos que vc indicou acima com calma e tentar identificar nestes posts as respostas para as minhas perguntas. <br /> <br /> Acho que por hoje ja abusei da paciência dos GUJ's!<br /> <br /> Muito Obrigado!<br /> Thiago]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/21007/111211/re-mais-sobre-melhores-praticas-com-to
</guid>
				<link>http://www.guj.com.br/prepost/21007/111211/re-mais-sobre-melhores-praticas-com-to
</link>
				<pubDate><![CDATA[Thu, 3 Mar 2005 11:39:28]]> GMT</pubDate>
				<author><![CDATA[ Thiago Senna]]></author>
			</item>
			<item>
				<title>Re: Mais Sobre Melhores Práticas com TO</title>
				<description><![CDATA[ [quote=Thiago Senna]...eu ainda nem sei o que é IoC. [/quote]<br /> <br />   Eu até poderia tentar te explicar o que é, mas acho melhor tu ir na fonte.<br /> <br />    <a class="snap_shots" href="http://www.javafree.com.br/home/modules.php?name=Content&pa=showpage&pid=4" target="_blank" rel="nofollow">http://www.javafree.com.br/home/modules.php?name=Content&pa=showpage&pid=4</a><br /> <br />   ]['s]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/21007/111212/re-mais-sobre-melhores-praticas-com-to
</guid>
				<link>http://www.guj.com.br/prepost/21007/111212/re-mais-sobre-melhores-praticas-com-to
</link>
				<pubDate><![CDATA[Thu, 3 Mar 2005 11:44:49]]> GMT</pubDate>
				<author><![CDATA[ fabio.patricio]]></author>
			</item>
			<item>
				<title>Re: Mais Sobre Melhores Práticas com TO</title>
				<description><![CDATA[ esse tópico continua em<br /> <br /> <a class="snap_shots" href="http://www.guj.com.br/posts/list/21002.java" target="_blank" rel="nofollow">http://www.guj.com.br/posts/list/21002.java</a><br /> <br /> [size=18][b](postem lá, pessoal)[/b][/size]]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/21007/111218/re-mais-sobre-melhores-praticas-com-to
</guid>
				<link>http://www.guj.com.br/prepost/21007/111218/re-mais-sobre-melhores-praticas-com-to
</link>
				<pubDate><![CDATA[Thu, 3 Mar 2005 11:48:53]]> GMT</pubDate>
				<author><![CDATA[ pcalcado]]></author>
			</item>
			<item>
				<title>Re: Mais Sobre Melhores Práticas com TO</title>
				<description><![CDATA[ [quote=Thiago Senna]<br /> Bom... eu coloquei tudo isso de patterns realmente para aprender, já que o mercado aprecia profissionais com conhecimento em patterns.... [/quote]<br /> <br /> Se o mercado apreciar mesmo profissionais com conhecimento em patterns, eu prefiro começar a vender cachorro-quente na Paulista. <br /> <br /> Existe uma diferença muito grande entre "conhecer patterns" e "saber aplicar os patterns certos nos lugares certos". <img src="http://www.guj.com.br/images/smilies/8a80c6485cd926be453217d59a84a888.gif" border="0">]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/21007/111430/re-mais-sobre-melhores-praticas-com-to
</guid>
				<link>http://www.guj.com.br/prepost/21007/111430/re-mais-sobre-melhores-praticas-com-to
</link>
				<pubDate><![CDATA[Thu, 3 Mar 2005 19:08:46]]> GMT</pubDate>
				<author><![CDATA[ Daniel Quirino Oliveira]]></author>
			</item>
	</channel>
</rss>
