<?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"
	>
<channel>
	<title>Comments on: Thoughts on an MVC framework for Swing</title>
	<atom:link href="http://www.magpiebrain.com/blog/2004/02/17/thoughts-on-an-mvc-framework-for-swing/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.magpiebrain.com/blog/2004/02/17/thoughts-on-an-mvc-framework-for-swing/</link>
	<description>Sam Newman's blog</description>
	<pubDate>Fri, 21 Nov 2008 23:23:48 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
		<item>
		<title>By: Sam Newman</title>
		<link>http://www.magpiebrain.com/blog/2004/02/17/thoughts-on-an-mvc-framework-for-swing/#comment-186</link>
		<dc:creator>Sam Newman</dc:creator>
		<pubDate>Thu, 19 Feb 2004 12:23:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.magpiebrain.com/2004/02/17/thoughts-on-an-mvc-framework-for-swing/#comment-186</guid>
		<description>From looking over the Wiki pieces detailing integration of Spring (http://wiki.opensymphony.com/space/Spring+Framework+Integration) and Pico (http://wiki.opensymphony.com/space/PicoContainer+Integration) with WebWork 1.4, it seems they can be used as the Action respositories as opposed to WebWork itself. If the same applies for XWork, then assuming you can get a third party IoC framework integrated the problem of registering actions in a seperate file goes away as you register them there (reading between the lines of the XWork wiki I get the impression that XWork attempted to use Pico internally to provide IoC features a while back, but I might be wrong).
</description>
		<content:encoded><![CDATA[<p>From looking over the Wiki pieces detailing integration of Spring (http://wiki.opensymphony.com/space/Spring+Framework+Integration) and Pico (http://wiki.opensymphony.com/space/PicoContainer+Integration) with WebWork 1.4, it seems they can be used as the Action respositories as opposed to WebWork itself. If the same applies for XWork, then assuming you can get a third party IoC framework integrated the problem of registering actions in a seperate file goes away as you register them there (reading between the lines of the XWork wiki I get the impression that XWork attempted to use Pico internally to provide IoC features a while back, but I might be wrong).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jon Tirsen</title>
		<link>http://www.magpiebrain.com/blog/2004/02/17/thoughts-on-an-mvc-framework-for-swing/#comment-185</link>
		<dc:creator>Jon Tirsen</dc:creator>
		<pubDate>Thu, 19 Feb 2004 11:59:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.magpiebrain.com/2004/02/17/thoughts-on-an-mvc-framework-for-swing/#comment-185</guid>
		<description>Jason, the most annoying thing with XWork is that you have to define your actions and their bindings in a separate XML file. Definining things in XML files was very trendy a couple of years ago but I've moved away from it completely and I also notice a lot more people doing that aswell.
The problem with XML files are that it's not a very powerful language, you don't get compile time checking and it's hard to get it to work really well with refactoring IDEs.
With the birth of JDK 1.5 metadata I suspect that the Java community will completely move away from XML based stuff within a couple of years.</description>
		<content:encoded><![CDATA[<p>Jason, the most annoying thing with XWork is that you have to define your actions and their bindings in a separate <acronym title="eXtensible Markup Language">XML</acronym> file. Definining things in <acronym title="eXtensible Markup Language">XML</acronym> files was very trendy a couple of years ago but I&#8217;ve moved away from it completely and I also notice a lot more people doing that aswell.<br />
The problem with <acronym title="eXtensible Markup Language">XML</acronym> files are that it&#8217;s not a very powerful language, you don&#8217;t get compile time checking and it&#8217;s hard to get it to work really well with refactoring IDEs.<br />
With the birth of JDK 1.5 metadata I suspect that the Java community will completely move away from <acronym title="eXtensible Markup Language">XML</acronym> based stuff within a couple of years.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sam Newman</title>
		<link>http://www.magpiebrain.com/blog/2004/02/17/thoughts-on-an-mvc-framework-for-swing/#comment-184</link>
		<dc:creator>Sam Newman</dc:creator>
		<pubDate>Wed, 18 Feb 2004 15:07:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.magpiebrain.com/2004/02/17/thoughts-on-an-mvc-framework-for-swing/#comment-184</guid>
		<description>Point taken Kevin. I'm going to see if XWork will let me do what I want - if not, I'll either try and change it so it can or look elsewhere...</description>
		<content:encoded><![CDATA[<p>Point taken Kevin. I&#8217;m going to see if XWork will let me do what I want - if not, I&#8217;ll either try and change it so it can or look elsewhere&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kevin Dangoor</title>
		<link>http://www.magpiebrain.com/blog/2004/02/17/thoughts-on-an-mvc-framework-for-swing/#comment-183</link>
		<dc:creator>Kevin Dangoor</dc:creator>
		<pubDate>Wed, 18 Feb 2004 14:32:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.magpiebrain.com/2004/02/17/thoughts-on-an-mvc-framework-for-swing/#comment-183</guid>
		<description>The problem with making a framework that works with both web and Swing is that the interaction models are different. The web is (generally, unless you're doing fancy javascript) based on discrete requests which result in complete new page output. Swing can (and should) have all sorts of things (big and small) that can happen on a single screen.

There is undoubtedly a whole bunch of code that can be shared between Swing and web implementations of an app. I'm just saying that you don't want to sacrifice Swing interactivity by using a framework suited for the web.</description>
		<content:encoded><![CDATA[<p>The problem with making a framework that works with both web and Swing is that the interaction models are different. The web is (generally, unless you&#8217;re doing fancy javascript) based on discrete requests which result in complete new page output. Swing can (and should) have all sorts of things (big and small) that can happen on a single screen.</p>
<p>There is undoubtedly a whole bunch of code that can be shared between Swing and web implementations of an app. I&#8217;m just saying that you don&#8217;t want to sacrifice Swing interactivity by using a framework suited for the web.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sam Newman</title>
		<link>http://www.magpiebrain.com/blog/2004/02/17/thoughts-on-an-mvc-framework-for-swing/#comment-182</link>
		<dc:creator>Sam Newman</dc:creator>
		<pubDate>Wed, 18 Feb 2004 13:29:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.magpiebrain.com/2004/02/17/thoughts-on-an-mvc-framework-for-swing/#comment-182</guid>
		<description>The MVC used within Swing can be considered to be very localised - that is one MVC instance is used within the scope of getting a table to work, another within the scope of a combobox etc. They help seperate content from presentation within a very small scope, and by and large work well. They do nothing to help seperate your GUI layer from any backend business processing. I see the GUI layer including JTables   TableModels, which are used to create commands. These commands are sent and processed by the next layer, which responds by telling the GUI layer to change (e.g. display error message, display this view etc).</description>
		<content:encoded><![CDATA[<p>The MVC used within Swing can be considered to be very localised - that is one MVC instance is used within the scope of getting a table to work, another within the scope of a combobox etc. They help seperate content from presentation within a very small scope, and by and large work well. They do nothing to help seperate your <acronym title="Graphical User Interface">GUI</acronym> layer from any backend business processing. I see the <acronym title="Graphical User Interface">GUI</acronym> layer including JTables   TableModels, which are used to create commands. These commands are sent and processed by the next layer, which responds by telling the <acronym title="Graphical User Interface">GUI</acronym> layer to change (e.g. display error message, display this view etc).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rafael Alvarez</title>
		<link>http://www.magpiebrain.com/blog/2004/02/17/thoughts-on-an-mvc-framework-for-swing/#comment-181</link>
		<dc:creator>Rafael Alvarez</dc:creator>
		<pubDate>Wed, 18 Feb 2004 13:10:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.magpiebrain.com/2004/02/17/thoughts-on-an-mvc-framework-for-swing/#comment-181</guid>
		<description>Food for though: Why is that all MVC implementations seems to use the Command pattern? If you look into the Swing model there are complete MVC implementations (JTable comes to mind) WITHOUT commands.</description>
		<content:encoded><![CDATA[<p>Food for though: Why is that all MVC implementations seems to use the Command pattern? If you look into the Swing model there are complete MVC implementations (JTable comes to mind) WITHOUT commands.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sam Newman</title>
		<link>http://www.magpiebrain.com/blog/2004/02/17/thoughts-on-an-mvc-framework-for-swing/#comment-180</link>
		<dc:creator>Sam Newman</dc:creator>
		<pubDate>Wed, 18 Feb 2004 10:20:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.magpiebrain.com/2004/02/17/thoughts-on-an-mvc-framework-for-swing/#comment-180</guid>
		<description>Excellent - thanks for the link Jason!</description>
		<content:encoded><![CDATA[<p>Excellent - thanks for the link Jason!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jason Carreira</title>
		<link>http://www.magpiebrain.com/blog/2004/02/17/thoughts-on-an-mvc-framework-for-swing/#comment-179</link>
		<dc:creator>Jason Carreira</dc:creator>
		<pubDate>Tue, 17 Feb 2004 21:36:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.magpiebrain.com/2004/02/17/thoughts-on-an-mvc-framework-for-swing/#comment-179</guid>
		<description>You just decribed XWork:

http://wiki.opensymphony.com/space/XWork

XWork is a generic Command Pattern implementation that is used as the core of WebWork2. You could define your Actions in an XML file, decoupling your screens from the classes which they execute, and get the power of Interceptors, type conversion, validation, etc. XWork already has the concept of a generic Result Interface. In WebWork, this can be a dispatch to a JSP or a redirect, or JasperReports to generate a PDF. In a Swing wrapper on top of XWork this could be a refresh of the current screen or telling it to show a new screen.

Shouldn't really be that difficult.</description>
		<content:encoded><![CDATA[<p>You just decribed XWork:</p>
<p><a href="http://wiki.opensymphony.com/space/XWork"  rel="nofollow">http://wiki.opensymphony.com/space/XWork</a></p>
<p>XWork is a generic Command Pattern implementation that is used as the core of WebWork2. You could define your Actions in an <acronym title="eXtensible Markup Language">XML</acronym> file, decoupling your screens from the classes which they execute, and get the power of Interceptors, type conversion, validation, etc. XWork already has the concept of a generic Result Interface. In WebWork, this can be a dispatch to a <acronym title="Java Server Pages">JSP</acronym> or a redirect, or JasperReports to generate a <acronym title="Portable Document Format">PDF</acronym>. In a Swing wrapper on top of XWork this could be a refresh of the current screen or telling it to show a new screen.</p>
<p>Shouldn&#8217;t really be that difficult.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sam Newman</title>
		<link>http://www.magpiebrain.com/blog/2004/02/17/thoughts-on-an-mvc-framework-for-swing/#comment-178</link>
		<dc:creator>Sam Newman</dc:creator>
		<pubDate>Tue, 17 Feb 2004 21:12:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.magpiebrain.com/2004/02/17/thoughts-on-an-mvc-framework-for-swing/#comment-178</guid>
		<description>Thanks for the link - I'll look into that.</description>
		<content:encoded><![CDATA[<p>Thanks for the link - I&#8217;ll look into that.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Whatever</title>
		<link>http://www.magpiebrain.com/blog/2004/02/17/thoughts-on-an-mvc-framework-for-swing/#comment-177</link>
		<dc:creator>Whatever</dc:creator>
		<pubDate>Tue, 17 Feb 2004 21:07:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.magpiebrain.com/2004/02/17/thoughts-on-an-mvc-framework-for-swing/#comment-177</guid>
		<description>http://scope.sourceforge.net/</description>
		<content:encoded><![CDATA[<p><a href="http://scope.sourceforge.net/"  rel="nofollow">http://scope.sourceforge.net/</a></p>
]]></content:encoded>
	</item>
</channel>
</rss>
