<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Data Model Change Eventing</title>
	<atom:link href="http://blog.palantirtech.com/2009/05/27/data-model-change-eventing/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.palantirtech.com/2009/05/27/data-model-change-eventing/</link>
	<description>Articles from the Engineering Group at Palantir Technologies</description>
	<lastBuildDate>Mon, 07 Jun 2010 12:21:26 -0700</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Alex</title>
		<link>http://blog.palantirtech.com/2009/05/27/data-model-change-eventing/comment-page-1/#comment-208</link>
		<dc:creator>Alex</dc:creator>
		<pubDate>Tue, 23 Jun 2009 16:12:03 +0000</pubDate>
		<guid isPermaLink="false">http://blog.palantirtech.com/?p=968#comment-208</guid>
		<description>I&#039;ve started to migrate away from PCS to the EventBus framework.  Overall, the EventBus static mechanism is much easier to work with and the weak references help protect you from memory leaks, something very likely with PCS.</description>
		<content:encoded><![CDATA[<p>I&#8217;ve started to migrate away from PCS to the EventBus framework.  Overall, the EventBus static mechanism is much easier to work with and the weak references help protect you from memory leaks, something very likely with PCS.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: DerekC</title>
		<link>http://blog.palantirtech.com/2009/05/27/data-model-change-eventing/comment-page-1/#comment-207</link>
		<dc:creator>DerekC</dc:creator>
		<pubDate>Fri, 05 Jun 2009 22:35:44 +0000</pubDate>
		<guid isPermaLink="false">http://blog.palantirtech.com/?p=968#comment-207</guid>
		<description>We&#039;ve found that in most cases, cloning the collections isn&#039;t a significant performance hit.  Of course, there are exceptions. We have a table component which scales to hundreds of thousands of rows.  When items are added or removed, the table&#039;s model fires events containing those specific items.  For example, if a call is made to addItems(), it fires an ITEMS_ADDED event with the added items.  This approach requires the listeners to deal with more event types but is necessary in some cases.  

Regarding the immutability of collections: in general, we treat collections as immutable objects by wrapping them with the appropriate Collections.unmodifiable* call.  This removes ambiguity over whether collections are mutable (they are not) and prevents assumptions and errors.</description>
		<content:encoded><![CDATA[<p>We&#8217;ve found that in most cases, cloning the collections isn&#8217;t a significant performance hit.  Of course, there are exceptions. We have a table component which scales to hundreds of thousands of rows.  When items are added or removed, the table&#8217;s model fires events containing those specific items.  For example, if a call is made to addItems(), it fires an ITEMS_ADDED event with the added items.  This approach requires the listeners to deal with more event types but is necessary in some cases.  </p>
<p>Regarding the immutability of collections: in general, we treat collections as immutable objects by wrapping them with the appropriate Collections.unmodifiable* call.  This removes ambiguity over whether collections are mutable (they are not) and prevents assumptions and errors.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Solerman</title>
		<link>http://blog.palantirtech.com/2009/05/27/data-model-change-eventing/comment-page-1/#comment-206</link>
		<dc:creator>Solerman</dc:creator>
		<pubDate>Thu, 04 Jun 2009 19:25:10 +0000</pubDate>
		<guid isPermaLink="false">http://blog.palantirtech.com/?p=968#comment-206</guid>
		<description>Doesn&#039;t giving both collections, new and old, give a performance drawback? Do you work with collections as immutable value objects as well?</description>
		<content:encoded><![CDATA[<p>Doesn&#8217;t giving both collections, new and old, give a performance drawback? Do you work with collections as immutable value objects as well?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
