<?xml version="1.0" encoding="ISO-8859-1"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Últimas mensagens do tópico "Metadados para Melhor Expressar Relacionamento entre Objetos: Que tal?"]]></title>
		<link>http://www.guj.com.br/posts/list/12.java</link>
		<description><![CDATA[Últimas mensagens enviadas no tópico "Metadados para Melhor Expressar Relacionamento entre Objetos: Que tal?"]]></description>
		<generator>JForum - http://www.jforum.net</generator>
			<item>
				<title>Metadados para Melhor Expressar Relacionamento entre Objetos: Que tal?</title>
				<description><![CDATA[ Acho que nunca li nada sobre isso, se alguem possuir bibliografia, por favor compartilhe.<br /> <br /> Todo mundo que ja estudou um pouquinho de OOP sabe que existem diversos tipos catalogados de relacionamento entre objetos, mas vou focar tres: Agregaçao, Composiçao e Associaçao (Aggregation, Composition e Association).<br /> <br /> E impossivel (pelo menso que eu saiba) definir um relacionamento destes declarativamente em Java &lt; 5. Quando voce faz:<br /> <br /> [code]<br /> class A{<br />  private B b;<br /> }<br /> [/code]<br /> <br /> Nao da para imaginar que tipo de relaçao A e B tem, voce vai rpecisar olhar o codigo. Geralmente compostos vao ser instanciados (ou pegos de algum lugar de forem Value Objects ou coisa parecida) diretamente na classe (na declaraçao do atributo ou no cosntrutor dessa), associaçoes geralmente sao setadas.<br /> <br /> Com o uso de annotations, daria para amrcar essas relaçoes, definindo o que eh de qual tipo. O que voces acham disso?<br /> <br /> Em primeira instancia, coisas como persistencia poderiam ser facilitadas (quando um objeto e atualizado, seus agregados tambem devem ser, mas nao seus associados), e outros usos podem surgir. <br /> <br /> Alguma opiniao?]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/27840/151095/metadados-para-melhor-expressar-relacionamento-entre-objetos-que-tal
</guid>
				<link>http://www.guj.com.br/prepost/27840/151095/metadados-para-melhor-expressar-relacionamento-entre-objetos-que-tal
</link>
				<pubDate><![CDATA[Wed, 20 Jul 2005 23:23:05]]> GMT</pubDate>
				<author><![CDATA[ pcalcado]]></author>
			</item>
			<item>
				<title>Re: Metadados para Melhor Expressar Relacionamento entre Objetos: Que tal?</title>
				<description><![CDATA[ Assim, metade do trabalho feito com XML estaria resolvido trabalhando desse modo, mas seria ótimo se houvesse uma padronização nisso. Tipo, um annotation que simbolize composição, outro agregação, pra num ficar todo mundo inventando.<br /> <br /> Será que dá pra abrir um request só pra colocar isso no Java?  <img src="http://www.guj.com.br/images/smilies/ed515dbff23a0ee3241dcc0a601c9ed6.gif" border="0"> <br /> <br /> Metade da configuração do Spring tava resolvida  <img src="http://www.guj.com.br/images/smilies/283a16da79f3aa23fe1025c96295f04f.gif" border="0"> ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/27840/151098/re-metadados-para-melhor-expressar-relacionamento-entre-objetos-que-tal
</guid>
				<link>http://www.guj.com.br/prepost/27840/151098/re-metadados-para-melhor-expressar-relacionamento-entre-objetos-que-tal
</link>
				<pubDate><![CDATA[Wed, 20 Jul 2005 23:29:26]]> GMT</pubDate>
				<author><![CDATA[ Mauricio Linhares]]></author>
			</item>
			<item>
				<title>Re: Metadados para Melhor Expressar Relacionamento entre Objetos: Que tal?</title>
				<description><![CDATA[ Tipo, agora veio mais uma coisa, quem ia fazer isso? Mais um framework IoC? Aspectos? Mágica?]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/27840/151104/re-metadados-para-melhor-expressar-relacionamento-entre-objetos-que-tal
</guid>
				<link>http://www.guj.com.br/prepost/27840/151104/re-metadados-para-melhor-expressar-relacionamento-entre-objetos-que-tal
</link>
				<pubDate><![CDATA[Thu, 21 Jul 2005 00:01:07]]> GMT</pubDate>
				<author><![CDATA[ Mauricio Linhares]]></author>
			</item>
			<item>
				<title>Re: Metadados para Melhor Expressar Relacionamento entre Objetos: Que tal?</title>
				<description><![CDATA[ Isso o que exatamente?<br /> <br /> O programador eh quem conhece o relacionamentod e suas classes. Os frameworks podem usar essa ifnroamçao adicional para prover algumas simplificaçoes, outros programadores podem se beneficiar das anotaçoes como documentaçao (ja que voce vai acabar precisando dum diagrama para msotrar suas agregaçoes se nao usar algo do tipo)...]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/27840/151116/re-metadados-para-melhor-expressar-relacionamento-entre-objetos-que-tal
</guid>
				<link>http://www.guj.com.br/prepost/27840/151116/re-metadados-para-melhor-expressar-relacionamento-entre-objetos-que-tal
</link>
				<pubDate><![CDATA[Thu, 21 Jul 2005 01:09:14]]> GMT</pubDate>
				<author><![CDATA[ pcalcado]]></author>
			</item>
			<item>
				<title>Re: Metadados para Melhor Expressar Relacionamento entre Objetos: Que tal?</title>
				<description><![CDATA[ Baixei a [url=http://www.jcp.org/aboutJava/communityprocess/edr/jsr250/]JSR 250[/url] (da qual o michael Santos faz parte, voce ta por ai, mister m?) e vi que o trabalho esta bem no inicio, ams nao contempla nada perto diso 9apesar de eu ter adorado algumas como @generated <img src="http://www.guj.com.br/images/smilies/ed515dbff23a0ee3241dcc0a601c9ed6.gif" border="0"> ).<br /> <br /> Acabo de escrever um email pro time da spec:<br /> <br /> [quote]<br /> Hi everyone,<br /> <br /> I just downloaded the current draft for "JSR 250 - Common Annotations<br /> for The Java Platform" and noticed that one of the things I believe<br /> could really be great with annotations was missing.<br /> <br /> As far as I know, there is no way to represent in Java or in any<br /> language I've programmed so far that a relationship between two or<br /> more objects is an aggregation, association or composition (ok, some<br /> languages such as C++ provides a reference/value mechanism that makes<br /> this no that hard, but it's still not the point).<br /> <br /> Seems like some tools (e.g.<br /> <a class="snap_shots" href="http://www.modelistic.com/website/userGuide/diagrams/Associations.html" target="_blank" rel="nofollow">http://www.modelistic.com/website/userGuide/diagrams/Associations.html</a><br /> ) mark these relationships using doclets. Using this, some tool can<br /> discover association roles given source files. As we all know much was<br /> done through doclets and annotations are here to bring all this<br /> information to runtime, when needed.<br /> <br /> I think that this information can be really useful as documentation<br /> for the code, and can really help EJB3/Hibernate, IoC containers,<br /> Application Servers and other tools handling user objects' lifecycle.<br /> <br /> It will be known that when an object is removed from a cache, updated,<br /> deleted, created or something, all its relationships should be<br /> evaluated, maybe deleting some compositions or doing some related<br /> stuff.<br /> <br /> This said, I suggest that you include in the specification annotations<br /> for classic (and UML/OMG specified) object relationships between<br /> objects (Aggregation, Association and Composition at least).<br /> <br /> Just as I believe annotations can be great to bring UML stereotypes to<br /> the real world, I believe people (and specially CASE tools) will use<br /> an approach like this to document these relationships. I believe that<br /> the objective of this JSR is to provide standard annotations, so it<br /> would be no good if we have each vendor creating its own set of<br /> annotations to document relationships.<br /> <br /> Thanks for your time and regards,<br /> <br /> <br /> --<br /> Phillip Calçado<br /> <a class="snap_shots" href="http://www.fragmental.com.br" target="_blank" rel="nofollow">http://www.fragmental.com.br</a><br /> ICQ: 1110nine38six5<br /> M$N: <a class="snap_shots" href="mailto:pcalcado@gmail.com">pcalcado@gmail.com</a><br /> Y!: <a class="snap_shots" href="mailto:pcalcado@yahoo.com">pcalcado@yahoo.com</a><br /> Crux Sacra Sit Mihi Lux<br /> [/quote]]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/27840/151124/re-metadados-para-melhor-expressar-relacionamento-entre-objetos-que-tal
</guid>
				<link>http://www.guj.com.br/prepost/27840/151124/re-metadados-para-melhor-expressar-relacionamento-entre-objetos-que-tal
</link>
				<pubDate><![CDATA[Thu, 21 Jul 2005 01:42:48]]> GMT</pubDate>
				<author><![CDATA[ pcalcado]]></author>
			</item>
			<item>
				<title>Metadados para Melhor Expressar Relacionamento entre Objetos: Que tal?</title>
				<description><![CDATA[ *aplausos*]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/27840/151130/metadados-para-melhor-expressar-relacionamento-entre-objetos-que-tal
</guid>
				<link>http://www.guj.com.br/prepost/27840/151130/metadados-para-melhor-expressar-relacionamento-entre-objetos-que-tal
</link>
				<pubDate><![CDATA[Thu, 21 Jul 2005 04:55:20]]> GMT</pubDate>
				<author><![CDATA[ cv]]></author>
			</item>
			<item>
				<title>Re: Metadados para Melhor Expressar Relacionamento entre Objetos: Que tal?</title>
				<description><![CDATA[ [quote=shoes]voce ta por ai, mister m?[/quote]<br /> <br /> Num sei pq, mas eu imaginei a vós do Cid Moreira chamando o Mister M!]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/27840/151131/re-metadados-para-melhor-expressar-relacionamento-entre-objetos-que-tal
</guid>
				<link>http://www.guj.com.br/prepost/27840/151131/re-metadados-para-melhor-expressar-relacionamento-entre-objetos-que-tal
</link>
				<pubDate><![CDATA[Thu, 21 Jul 2005 07:34:11]]> GMT</pubDate>
				<author><![CDATA[ Thiago Senna]]></author>
			</item>
			<item>
				<title>Re:Metadados para Melhor Expressar Relacionamento entre Objetos: Que tal?</title>
				<description><![CDATA[ Eu sei que já MUITO tempo que isso foi postado, mas vou responder mesmo assim...<br /> <br /> Conversando com um amigo sobre esse post ele me lembrou que essa idéia já existe nos doclets, por exemplo a ferramenta OMONDO, ao gerar as classes, coloca esse tipo de configuração pra controle dela em forma de doclet.<br /> <br /> No caso, essas configurações virariam essas annotations!<br /> <br /> Valeu!]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/27840/641659/remetadados-para-melhor-expressar-relacionamento-entre-objetos-que-tal
</guid>
				<link>http://www.guj.com.br/prepost/27840/641659/remetadados-para-melhor-expressar-relacionamento-entre-objetos-que-tal
</link>
				<pubDate><![CDATA[Wed, 18 Feb 2009 13:00:11]]> GMT</pubDate>
				<author><![CDATA[ Romulinho]]></author>
			</item>
			<item>
				<title>Re:Metadados para Melhor Expressar Relacionamento entre Objetos: Que tal?</title>
				<description><![CDATA[ [quote=Romulinho]Eu sei que já MUITO tempo que isso foi postado, mas vou responder mesmo assim...<br /> <br /> Conversando com um amigo sobre esse post ele me lembrou que essa idéia já existe nos doclets, por exemplo a ferramenta OMONDO, ao gerar as classes, coloca esse tipo de configuração pra controle dela em forma de doclet.<br /> <br /> No caso, essas configurações virariam essas annotations!<br /> <br /> Valeu![/quote]<br /> <br /> Muito tempo mesmo. Inclusive nesta época eu usava xdoclet <img src="http://www.guj.com.br/images/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0"><br /> <br /> A idéia expressa aqui é para er anotações semânticas no código em si, não apenas nos comentários como faz xdoclet. Pre-processamento é útil mas a idéia é meta-programação em real time com semântica OO. Eu eu ainda não vi nada muito parecido em 4 anos.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/27840/642263/remetadados-para-melhor-expressar-relacionamento-entre-objetos-que-tal
</guid>
				<link>http://www.guj.com.br/prepost/27840/642263/remetadados-para-melhor-expressar-relacionamento-entre-objetos-que-tal
</link>
				<pubDate><![CDATA[Thu, 19 Feb 2009 10:07:44]]> GMT</pubDate>
				<author><![CDATA[ pcalcado]]></author>
			</item>
			<item>
				<title>Re:Metadados para Melhor Expressar Relacionamento entre Objetos: Que tal?</title>
				<description><![CDATA[ Pessoal,<br /> <br /> alguém sabe me dizer se existe algum framework, library ou extensão (com pré-compilador) do Java que permita construir relacionamentos (associações) N-N entre objetos sem usar atributos de objetos?<br /> <br /> Pergunto isto porque sempre que necessita-se fazer um relacionamento Many-To-Many, entre as classes A e B, o código fonte acaba necessitando usar algum Collection (List, Set, etc) para guardar as referências de objetos de uma classe na outra. Sendo assim, métodos add, remove, get(), entre outros, acabam surgindo afim de que o objeto proprietário da coleção possa dar acesso público e controlado, a mesma.<br /> <br /> Eu sei que tem ferramentas que fazem boa parte deste trabalho de geração de código, mas a questão toda é que olhando para o código, você não encherga um relacionamento, mas sim um atributo. A implementação dos métodos de acesso à coleção acabam se misturando ao "código original" da classe.<br /> <br /> Outro problema condiz a mudança de cardinalidade. Se por acaso for necessário trocar de Many-To-Many para, por exemplo, Many-To-One, o atributo que aponta para objetos da classe que mudou a cardinalidade deverá mudar de Collection para um simples atributo (de único valor).<br /> <br /> Não sei se consegui ser claro, mas o que eu quero saber é se existe, em Java, alguma forma de eu declarar relacionamentos assim como eu declaro atributos e métodos de uma classe?<br /> <br /> Quando eu falo em "declarar relacionamentos", significa duas coisas:<br /> 1. que toda a funcionalidade de adicionar, remover e recuperar os objetos, já esteja "implícita" na declaração, sem necessidade de "código extra" para se fazer isto.<br /> 2. que fique explícito que ali está se declarando um relacionamento entre objetos, não um atributo de objeto.<br /> <br /> bom... acho que era isso.<br /> <br /> Grande abraço a todos<br /> e muito obrigado.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/27840/647170/remetadados-para-melhor-expressar-relacionamento-entre-objetos-que-tal
</guid>
				<link>http://www.guj.com.br/prepost/27840/647170/remetadados-para-melhor-expressar-relacionamento-entre-objetos-que-tal
</link>
				<pubDate><![CDATA[Mon, 2 Mar 2009 23:07:50]]> GMT</pubDate>
				<author><![CDATA[ iuricardoso]]></author>
			</item>
			<item>
				<title>Re:Metadados para Melhor Expressar Relacionamento entre Objetos: Que tal?</title>
				<description><![CDATA[ Concordo que seria legal. *aplausos* ^2<br /> <br /> Oras... e o que dizer de associações qualificadas, navegabilidade, certas multiplicidades, classes de associação, associações ternárias, associações condicionais e etc?<br /> <br /> ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/27840/649080/remetadados-para-melhor-expressar-relacionamento-entre-objetos-que-tal
</guid>
				<link>http://www.guj.com.br/prepost/27840/649080/remetadados-para-melhor-expressar-relacionamento-entre-objetos-que-tal
</link>
				<pubDate><![CDATA[Thu, 5 Mar 2009 18:43:20]]> GMT</pubDate>
				<author><![CDATA[ rodrigoy]]></author>
			</item>
	</channel>
</rss>
