Absolute. After I posted by comment, I realized it sounded rather
harsh to the Struts 1 team, which had their reasons for making the
decision they did*. Thus, my follow up. However, by the time Spring
MVC came into being, there was no longer a valid reason for making
controllers singletons, in my mind.
* Though, I've always wondered if the gain was really that big. In
processing a typical HTTP request, many (perhaps hundreds or
thousands, if you consider all the Strings, etc. received by a
database query) of object will be created. One of those objects
(setting aside scope for a moment) is an ActionForm. So, on the one
hand, does one additional object out of many make much of a
difference? One the other hand, if ActionForm and Action were one, as
they are in Struts 2, you break even.
On Mar 13, 2008, at 10:05 PM, Craig McClanahan wrote:
On Thu, Mar 13, 2008 at 9:45 AM, Jim Cushing <[EMAIL PROTECTED]> wrote:
P.S. By "rather poor designs features" of Struts 1, I refer primarily
to choice of making Actions singletons, which required a separate
ActionForm bean. As I've read the history of Struts 1, WebWork, and
Struts 2, much of it written by the members of this list, I see that
they've acknowledge the drawbacks of that approach and have learned
from it. By no means did I mean to disparage the Struts 1 team. The
nature of software is that it gets better with time as we refine our
designs.
That said, it's interesting that the Spring MVC team decided not to
learn from, and instead repeat, this mistake.
It's useful to remember that decisions like this (for any framework)
were not made in a vacuum. Instead, they were influenced by the
technology available at the time. In the case at hand, Struts 1 was
designed in the days when JDK 1.1 was the predominant platform, and
object creation/GC was so expensive that anyone who profligately
creates lots of objects per request (the way that many modern
frameworks do it) would have been considered patently insane :-).
After that point, and especially for a framework that achieved the
popularity that Struts 1 did, backwards compatibility for existing
applications became a pretty strong motivation not to change something
this fundamental lightly. Note, for example, that servlets are
*still* singletons, even ten years later.
Craig McClanahan
On Mar 13, 2008, at 12:33 PM, Jim Cushing wrote:
I'm but a humble Struts 2 user (and a Spring MVC critic), so forgive
me for lurking on this list (it's a great way for me to follow the
progress). I posted two comments to that blog (search for "jimothy")
that I think sum up Spring MVC vs. Struts 2 from a mindshare
perspective. I'd be interested to hear how those in the thick of
Struts 2 development feel about this.
On Mar 12, 2008, at 11:41 AM, James Mitchell wrote:
Interesting read...
http://www.oreillynet.com/onjava/blog/2008/03/spring_mvc_javafx_google_web_t.html
--
James Mitchell
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]