<?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: AS3 Property Observer Implementation</title>
	<atom:link href="http://jacwright.com/blog/373/as3-property-observer-implementation/feed/" rel="self" type="application/rss+xml" />
	<link>http://jacwright.com/blog/373/as3-property-observer-implementation/</link>
	<description>Flex, AIR, PHP, etc.</description>
	<lastBuildDate>Thu, 26 Aug 2010 22:38:43 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>By: Max</title>
		<link>http://jacwright.com/blog/373/as3-property-observer-implementation/comment-page-1/#comment-9128</link>
		<dc:creator>Max</dc:creator>
		<pubDate>Sun, 21 Mar 2010 18:07:21 +0000</pubDate>
		<guid isPermaLink="false">http://jacwright.com/blog/?p=373#comment-9128</guid>
		<description>In my opinion, a full replacement of [Bindable] introduces quite a lot of risk.  I think a new bit of custom metadata however ([Observable] perhaps?) would be a welcome addition.  Thanks for sharing this great Observer implementation!</description>
		<content:encoded><![CDATA[<p>In my opinion, a full replacement of [Bindable] introduces quite a lot of risk.  I think a new bit of custom metadata however ([Observable] perhaps?) would be a welcome addition.  Thanks for sharing this great Observer implementation!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: An Alternative to using PropertyChangeEvent - Jacob Wright &#8211; Flex, AIR, PHP, etc.</title>
		<link>http://jacwright.com/blog/373/as3-property-observer-implementation/comment-page-1/#comment-9126</link>
		<dc:creator>An Alternative to using PropertyChangeEvent - Jacob Wright &#8211; Flex, AIR, PHP, etc.</dc:creator>
		<pubDate>Wed, 17 Mar 2010 20:47:50 +0000</pubDate>
		<guid isPermaLink="false">http://jacwright.com/blog/?p=373#comment-9126</guid>
		<description>[...] A post about a trial implementation, and the final [...]</description>
		<content:encoded><![CDATA[<p>[...] A post about a trial implementation, and the final [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: karfau</title>
		<link>http://jacwright.com/blog/373/as3-property-observer-implementation/comment-page-1/#comment-9061</link>
		<dc:creator>karfau</dc:creator>
		<pubDate>Sun, 21 Feb 2010 20:04:28 +0000</pubDate>
		<guid isPermaLink="false">http://jacwright.com/blog/?p=373#comment-9061</guid>
		<description>Just from reading, without having used it:
1) I very much like the idea/ implementation of Observe.
2) I can imagine that there maybe could be a use for the checks, so keep them.
3) I can not imagine anything where I would need/use this.

Both checks and hooks look a bit like aspect-oriented programming to me, which I had no chance to dive into yet and which I am not sure about I more like or fear it.
So as u said: 
&quot;With great power comes great responsibility and jazz like that.&quot; Yep, thats the price!

Maybe there is a way to make those things more visible in development, e.g. by the need of implementing a class or using extra metadata or implementing Observe, CheckObserve, HookObserve, CheckHookObserve (or just Check, Hook and Observe that explicitly need to be linked together if needed)... not sure. In a way that it is easier to track the usage of it, and keep this functionality seperate / out if I don&#039;t want to use it.
(No idea if it is possible in a way, that is not making the code that uses it more diffucult to write... )

Just my 2 cents,
Karfau</description>
		<content:encoded><![CDATA[<p>Just from reading, without having used it:<br />
1) I very much like the idea/ implementation of Observe.<br />
2) I can imagine that there maybe could be a use for the checks, so keep them.<br />
3) I can not imagine anything where I would need/use this.</p>
<p>Both checks and hooks look a bit like aspect-oriented programming to me, which I had no chance to dive into yet and which I am not sure about I more like or fear it.<br />
So as u said:<br />
&#8220;With great power comes great responsibility and jazz like that.&#8221; Yep, thats the price!</p>
<p>Maybe there is a way to make those things more visible in development, e.g. by the need of implementing a class or using extra metadata or implementing Observe, CheckObserve, HookObserve, CheckHookObserve (or just Check, Hook and Observe that explicitly need to be linked together if needed)&#8230; not sure. In a way that it is easier to track the usage of it, and keep this functionality seperate / out if I don&#8217;t want to use it.<br />
(No idea if it is possible in a way, that is not making the code that uses it more diffucult to write&#8230; )</p>
<p>Just my 2 cents,<br />
Karfau</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jacob Wright</title>
		<link>http://jacwright.com/blog/373/as3-property-observer-implementation/comment-page-1/#comment-9053</link>
		<dc:creator>Jacob Wright</dc:creator>
		<pubDate>Wed, 17 Feb 2010 20:59:41 +0000</pubDate>
		<guid isPermaLink="false">http://jacwright.com/blog/?p=373#comment-9053</guid>
		<description>Max: I agree about release(), but even if you don&#039;t call it your objects will still be garbage collected. release() is a fail-proof mechanism or one you could use for object pools.

Because of this, one problem I still want to tackle is all the checks/hooks/observers are stored in a weak-referenced dictionary, so the order in which they are called is random.</description>
		<content:encoded><![CDATA[<p>Max: I agree about release(), but even if you don&#8217;t call it your objects will still be garbage collected. release() is a fail-proof mechanism or one you could use for object pools.</p>
<p>Because of this, one problem I still want to tackle is all the checks/hooks/observers are stored in a weak-referenced dictionary, so the order in which they are called is random.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Max</title>
		<link>http://jacwright.com/blog/373/as3-property-observer-implementation/comment-page-1/#comment-9052</link>
		<dc:creator>Max</dc:creator>
		<pubDate>Wed, 17 Feb 2010 20:33:18 +0000</pubDate>
		<guid isPermaLink="false">http://jacwright.com/blog/?p=373#comment-9052</guid>
		<description>Woohoo! I folded your Observable class into an example app I&#039;m building at: http://flexamusements.blogspot.com/2010/02/robotlegs-slightly-less-simple-example.html

I especially like the release() method, which allows one to make about-to-be-destroyed Observable classes available for garbage collection.</description>
		<content:encoded><![CDATA[<p>Woohoo! I folded your Observable class into an example app I&#8217;m building at: <a href="http://flexamusements.blogspot.com/2010/02/robotlegs-slightly-less-simple-example.html" rel="nofollow">http://flexamusements.blogspot.com/2010/02/robotlegs-slightly-less-simple-example.html</a></p>
<p>I especially like the release() method, which allows one to make about-to-be-destroyed Observable classes available for garbage collection.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Paul Taylor</title>
		<link>http://jacwright.com/blog/373/as3-property-observer-implementation/comment-page-1/#comment-9051</link>
		<dc:creator>Paul Taylor</dc:creator>
		<pubDate>Wed, 17 Feb 2010 19:47:16 +0000</pubDate>
		<guid isPermaLink="false">http://jacwright.com/blog/?p=373#comment-9051</guid>
		<description>&quot;So I have a dilemma and need your feedback. Checks and Hooks could be really cool, allowing you to change stuff at run-time, inserting code into the setter as it were. However, this could also cause headache, security issues, difficult to diagnose bugs, and other potential issues. With great power comes great responsibility and jazz like that.&quot;

I could foresee a scenario where multiple hooks (for formatting or whatever) is malforming the data before its set. I could also foresee a scenario where multiple checks are added to a property incorrectly, and are preventing setting a legitimate value. Both cases should be caught by thorough unit tests, but assuming you don&#039;t have those, maybe releaseChecks&#124;Hooks&#124;Observers(target:IEventDispatcher) methods could be added, just in case?

Overall I think checks and hooks are sweet as they encourage and empower functionality composition. I vote for keeping them and including them in Reflex.

Great ideas Jac!</description>
		<content:encoded><![CDATA[<p>&#8220;So I have a dilemma and need your feedback. Checks and Hooks could be really cool, allowing you to change stuff at run-time, inserting code into the setter as it were. However, this could also cause headache, security issues, difficult to diagnose bugs, and other potential issues. With great power comes great responsibility and jazz like that.&#8221;</p>
<p>I could foresee a scenario where multiple hooks (for formatting or whatever) is malforming the data before its set. I could also foresee a scenario where multiple checks are added to a property incorrectly, and are preventing setting a legitimate value. Both cases should be caught by thorough unit tests, but assuming you don&#8217;t have those, maybe releaseChecks|Hooks|Observers(target:IEventDispatcher) methods could be added, just in case?</p>
<p>Overall I think checks and hooks are sweet as they encourage and empower functionality composition. I vote for keeping them and including them in Reflex.</p>
<p>Great ideas Jac!</p>
]]></content:encoded>
	</item>
</channel>
</rss>
