Re: Design Patterns Question

Date view Thread view Subject view Author view

From: rbfar@ebuilt.com
Date: Mon May 14 2001 - 13:53:40 PDT


Hi John:

I've been looking into designs of Struts and Cocoon. Struts seems to be
catching on. But I really think Cocoon is "where it's at". I have marveled
at the architecture of Cocoon since a year ago when I first looked at it.
It has to be the cleanest and most clever architecture I've seen in a few
years (though I am not an experienced genius like most of the people on this
list).

When I look at Struts, it seems like an impossible setup to extend. The
major downfall, MILO, is that adding orthogonal functionality chunks causes
factorial explosion of code branches. In other words, let's say you want to
add Internationalization to an application you've implemented using Struts.
With the exception of very basic internationalization, you will invariably
have to have multiple code bases. So, I've come to the conclusion that the
only reason Struts seems to be gaining a lot of ground is that SUN wants to
push it and that its good to have a cook-book method of writing code for
MAC. But, MILO, usage of Struts is beginning to look like the "Golden
Hammer" anti-pattern to me! There are even some people who want to use
Struts for every implementation of a three-tier architecture.

ON THE OTHER HAND, Cocoon (and Avalon) seem to take an approach that I like
a lot better. Let the framework control the components (Inversion of
Control). There is also the concept of Separation of Concerns (how to write
software so that orthogonal functionality additions don't cause code
explosion) and Aspect programming (I understand this one, but I don't think
it has as much value as the first two). So, I've decided that Cocoon and
Avalon are the way to go for me. Now, I want to understand the patterns
used in creating them better as that, I believe, is the first step to try to
extend them with orthogonal pieces of functionality.

So, with that being said, this is only my novice understanding. I do not
consider myself the smartest dude.

If anyone on the thread thinks my analysis is wrong, please enlighten this
ignorant bastard :-)

Otherwise, I would appreciate any other input on this topic.

R

----- Original Message -----
From: "John Regehr" <regehr@cs.utah.edu>
To: <rbfar@ebuilt.com>
Cc: "FoRK" <FoRK@xent.com>
Sent: Monday, May 14, 2001 10:35 AM
Subject: Re: Design Patterns Question

> If you're curious about what researchers are currently up to there's a
> workshop on Advanced Separation of Concerns going on tomorrow at ICSE.
> Papers are available:
>
> http://www.research.ibm.com/hyperspace/workshops/icse2001/papers-index.htm
>
> John
>
> On Mon, 14 May 2001 rbfar@ebuilt.com wrote:
>
> > Does anyone know of any good White Papers, Books, Links, whatever on the
following patterns?
> >
> > 1. Inversion of Control
> > 2. Seperation of Concerns
> > 3. Aspect Programming
> >
> > Thanks,
> > R
> >
>


Date view Thread view Subject view Author view

This archive was generated by hypermail 2b29 : Mon May 14 2001 - 14:01:17 PDT