Hi guys,
Thanks for your replies.
Can you give examples of usage patterns that would dictate that it is ok to
move constants away from their owning classes?
I also think the type safe enum pattern is a great idea, but I do not see
this being used a lot in practice (though I think it should be).
Justin

-----Original Message-----
From: John Cavacas [mailto:[EMAIL PROTECTED]
Sent: Wednesday, October 29, 2003 7:43 PM
To: Struts Users Mailing List
Subject: Re: Design decision for Globals class


I agree with David. Constants should be defined where they are relevant. 
But once you start using them in other places, then refactor them out to a 
common Constants class. The Type Safe Enum pattern might also be something 
worth looking at depending on your use of such constants.

John

At 04:15 PM 29/10/2003 -0800, you wrote:
>In general, constants should be defined in the class they're relevant in.
>The Struts Globals constants used to be defined in Action; however,
>they're used in many places other than Action so it made sense to move
>them to the new Globals class.
>
>David
>
>--- Justin Mahoney <[EMAIL PROTECTED]> wrote:
> > Hi,
> > A colleague of mine and I are discussing the relative merits of having
> > something like a Globals class.
> > I argue that it removes the constants from their proper association with
> > a
> > parent/owning class, ignoring the concept of object orientation and
> > losing a
> > self-documenting aspect regarding its relationship in the class
> > hierarchy.
> > By making the constants global they inherently lose scope, type
> > association,
> > and encapsulation. Another drawback is that you now have to flip between
> > two
> > JavaDocs pages when looking at a class and its constants.
> > My friend argues that it's easier to reference a Globals class when
> > programming since all constant Strings useful in the architecture are
> > collected within, and therefore this is reason enough to have a Globals
> > class (works great obviously with IDE auto-complete).
> > If anyone has the time or inclination to comment, what were the design
> > decisions that led to the Struts Globals class?
> > Thanks,
> > Justin
> >
>
>
>__________________________________
>Do you Yahoo!?
>Exclusive Video Premiere - Britney Spears
>http://launch.yahoo.com/promos/britneyspears/
>
>---------------------------------------------------------------------
>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]

Reply via email to