Eric,

I got it. This is a valid point and I already said in an earlier post
that I would rename the ~Support classes to Base~.  The only place
where I want to keep the ~Support naming is the unit tests.  If I call
a class ~Test, Maven will think this is truly a test that needs to run.
 I might as well call these classes "~TestDontRunThis".  Of course, you
can tell Maven to skip some classes, but I would rather keep it simple.
I hope that class names in the test subtree are not as important - so
perhaps it's ok to keep the naming I have there.

I also agree that having both Reflection and Introspector in the name
may be an overkill - the sole reason for the Reflection prefix is that
all classes in that package (org.apache.commons.clazz.reflect) start
with "Reflected".  I don't think I have problem with renaming some of
them.

- Dmitri



--- [EMAIL PROTECTED] wrote:
> 
> To add my two cents...  I think that it is clearer and more standard
> for a
> class to be named for what it is and does instead of how it is
> recommended
> to be used (delegatory vs. sub-class).  I think that any
> recommendations of
> that sort could go in the JavaDoc, but are out of place in the name. 
> I
> also think that it should be named for the simplest possible use of
> it so
> that simple code looks simple.
> 
> Having ~Support in the name is something that I wondered about when I
> first
> saw it.  I had to investigate to find out that I could just ignore
> it.  It
> seems to me that if a class extends another or implements an
> interface and
> the interface ends with "PropertyInspector", then the class should be
> named
> as some kind of "PropertyInspector".  Having ~Support at the end of
> the
> name negates that because it says to me that it is not in fact a
> PropertyInspector, but instead some useful class that has something
> to do
> with implementing (or maybe using) PropertyInspectors.
> 
> FWIW, I think that having both "Reflected" and "Inspector" in a name
> is
> overkill.  I don't know if it is completely redundant, but I think
> that it
> implies an implementation when it's feasible that an implementation
> might
> not use Reflection at all.  It could just as well use a configuration
> file
> to lookup the properties.
> 
> 
> Eric Pabst
> 
> 
> 
> |---------+--------------------------->
> |         |           Michael Heuer   |
> |         |           <[EMAIL PROTECTED]|
> |         |           >               |
> |         |           Sent by: Michael|
> |         |           Heuer           |
> |         |           <[EMAIL PROTECTED]|
> |         |           shore.net>      |
> |         |                           |
> |         |                           |
> |         |           06/17/03 05:56  |
> |         |           PM              |
> |         |           Please respond  |
> |         |           to "Jakarta     |
> |         |           Commons         |
> |         |           Developers List"|
> |         |                           |
> |---------+--------------------------->
>  
>
>---------------------------------------------------------------------------------------------------------------|
>   |                                                                  
>                                             |
>   |        To:      Jakarta Commons Developers List
> <[EMAIL PROTECTED]>                              |
>   |        cc:                                                       
>                                             |
>   |        Subject: Re: [Clazz] names of classes                     
>                                             |
>  
>
>---------------------------------------------------------------------------------------------------------------|
> 
> 
> 
> 
> 
> For what it's worth, I've always used ~Support to indicate a class
> that is
> used via delegation to fulfill the contract of an interface.
> 
> e.g.
> 
> interface XxxInterface
> {
>   public void a();
> }
> 
> abstract class AbstractXxx
>   implements XxxInterface
> {
>   public void a() { ...; }
> }
> 
> class XxxSupport
> // may extend AbstractXxx
> {
>   public void a() { ...; }
> }
> 
> then you can do
> 
> class MyClass
>   extends AbstractXxx
> {
>   ...
> }
> 
> or
> 
> class MyClass
>   implements XxxInterface
> {
>   private XxxSupport support = new XxxSupport();
> 
>   public void a() { support.a(); }
> }
> 
> 
> This is in the spirit of java.beans.PropertyChangeSupport.
> 
>    michael
> 
> 
> On Tue, 17 Jun 2003, David Graham wrote:
> 
> > > > >I do not like the names of ~Support classes. ~Support or
> ~Helper
> > >indicate
> > > > >(for me)
> > > > >that these are Helper classes with (often static) utility
> functions.
> In
> > > > the
> > > > >Java API I think
> > > > >I have found the usage of Abstract~ or Base~ much more often
> for
> > >classes
> > > >
> > > > You've missed an important difference between Helper classes
> and
> > > > Base/Abstract classes.  Helper classes allow composition/reuse
> outside
> > >of
> > > > a
> > > > class hierarchy.  Abstract class' methods can only be used by
> > >subclasses.
> > > >
> > >
> > >Thanks for expressing that much better than I could. So the
> ~Suppport
> > >classes
> > >_are_ Base/Abstract classes, since they are abstract and only used
> by
> > >subclassing in Clazz, aren't they?
> >
> > I don't work on, nor use the Clazz package so I don't know the
> details.
> I
> > was making a statement about OOP design in general.  If the Clazz
> classes
> > you're referring to are, in fact, abstract classes used in a class
> > hierarchy, they should be named Abstract* or Base* to follow widely
> used
> > Java naming conventions.
> >
> > David
> >
> > >
> > >Victor
> > >
> > >
> >
>
>---------------------------------------------------------------------
> > >To unsubscribe, e-mail: [EMAIL PROTECTED]
> > >For additional commands, e-mail:
> [EMAIL PROTECTED]
> > >
> >
> > _________________________________________________________________
> > STOP MORE SPAM with the new MSN 8 and get 2 months FREE*
> > http://join.msn.com/?page=features/junkmail
> >
> >
> >
> ---------------------------------------------------------------------
> > 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]
> 
> 
> 
> 
> 
=== message truncated ===


__________________________________
Do you Yahoo!?
SBC Yahoo! DSL - Now only $29.95 per month!
http://sbc.yahoo.com

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to