commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Morgan Delagrange <mdela...@yahoo.com>
Subject Re: [Pattern] Sandbox proposal, affects [Collections][Util] [was: Re: Core architecture [was: Commons architecture]]
Date Tue, 25 Jun 2002 21:46:34 GMT
-1 on moving the comparators package out of
Collections.  It clearly falls in that domain; that's
where users would expect to find them.  Also, all of
those comparators are released classes.

Actually I'm suspicious of a "pattern" package.  It
seems way, way too broad:

   "The standard Java libraries provides for 
    some very common design patterns -
    Comparator/Comparable, EventListener,
    Observer/Observable, Cloneable and Runnable
    However, other generic pattern concepts are 
    not supported. The <em>Pattern</em>
    Package provides these extra pattern 
    interfaces. It also provides reference
    implementations and utilities for the 
    additional interfaces and those 
    interfaces in Java."

"[G]eneric pattern concepts" sounds like a recipe for
hodge-podge.  If you want to try out patterns, which
could be interesting, you definitely want smaller more
focused packages (e.g. a package devoted to XML
patterns).

- Morgan

--- Stephen Colebourne <scolebourne@btopenworld.com>
wrote:
> Please find attached a proposal for a new sandbox
> component. This impacts
> both Collections and Util through refactoring.
> 
> Background:
> Discussions on the architecture of sandbox
> components have indicated that
> collecting together generic patterns such as
> factory, comparator and
> transformation code in one place would be useful.
> However, no current
> sandbox component is willing to take on the role.
> 
> Affects on Collections:
> The comparator package, Predicate, PredicateUtils
> (not the collections),
> Transform, Closure, SimpleObjectFactory and
> FactoryUtils classes would be
> copied to Pattern. Ideally, the classes will be
> deprecated for later removal
> **.
> 
> The principal issue for Collections is that Pattern
> will be a new component,
> untested and in the sandbox. The aim of Pattern must
> therefore be to proceed
> to a stable 1.0 commons release ASAP, and preferably
> before the next
> collections release.
> 
> The principal advantages for Collections are that it
> can focus on
> collections rather than on patterns, and that a
> wider range of Prdeicates,
> Transforms, Comparators and Factories will be
> available because they will
> have their own focus.
> 
> Affects on Util:
> The comparator classes currently in Util would be
> copied to Pattern.
> Ideally, the originals in Util would be removed.
> This should cause no issues
> as Util is a sandbox component.
> 
> My understanding is that I can start a sandbox
> component without a vote or
> discussion, but it seemed better to be clear on this
> occasion ;-)
> 
> Stephen
> 
> ** Changes dependent on Pattern reaching 1.0 before
> Collections' next
> release
> Predicate, Transform and Closure in Collections
> extend their replacements in
> Pattern and be deprecated in Collections.
> The comparators in collections are deprecated.
> PredicateUtils, SimpleObjectFactory, FactoryUtils
> and some Comparators
> haven't been released yet, so could be removed.
> 
> 
> 
> From: Nicola Ken
> > What you propose then are generic patterns, and I
> would assume that
> > Identifiable is part of them, since it's a common
> concern that crosses
> > aspects.
> >
> > I think that there is much more value in these
> than possible problems,
> > really *much* more, so you have my +1 for them.
> >
> > Which means I will help :-)
> 
> Nicola Ken, I've included you as an initial
> committer.
> 
> > <html>
> <head>
> <title>Proposal for Pattern Package</title>
> </head>
> <body bgcolor="white">
> 
> <div align="center">
> <h1>Proposal for <em>Pattern</em> Package</h1>
> </div>
> 
> <h3>(0) Rationale</h3>
> 
> <p>The standard Java libraries provides for some
> very common design
> patterns - Comparator/Comparable, EventListener,
> Observer/Observable, Cloneable and Runnable
> However, other generic pattern concepts are not
> supported. The <em>Pattern</em>
> Package provides these extra pattern interfaces. It
> also provides reference
> implementations and utilities for the additional
> interfaces and those interfaces in Java.</p>
> 
> 
> <h3>(1) Scope of the Package</h3>
> 
> <p>This proposal is to create a package to support
> low level pattern interfaces.
> To be included an interface must be simple, have
> wide potential applicability,
> and not require a framework.</p>
> 
> <p>This package also includes utility/reference
> implementation classes for the pattern
> interfaces and those pattern classes in java.lang
> and java.util.</p>
> 
> 
> <h3>(1.5) Interaction With Other Packages</h3>
> 
> <p><em>Pattern</em> relies only on standard JDK 1.2
> (or later) APIs for
> production deployment.  It utilizes the JUnit unit
> testing framework for
> developing and executing unit tests, but this is of
> interest only to
> developers of the component.  Patterns will be a
> dependency for
> several existing components in the open source
> world.</p>
> 
> <p>No external configuration files are utilized.</p>
> 
> 
> <h3>(2) Initial Source of the Package</h3>
> 
> <p>Some initial classes came from the
> Commons.Collections and Commons.Util
> subprojects.</p>
> 
> <p>The proposed package names for the new component
> are
> <code>org.apache.commons.pattern.xxx</code> where
> xxx is the pattern interface name,
> such as
>
<code>org.apache.commons.pattern.comparator</code>.</p>
> 
> 
> <h3>(3)  Required Jakarta-Commons Resources</h3>
> 
> <ul>
> <li>CVS Repository - New directory
> <code>pattern</code> in the
>     <code>jakarta-commons</code> CVS
> repository.</li>
> <li>Mailing List - Discussions will take place on
> the general
>     <em>commons-dev@jakarta.apache.org</em> mailing
> list.  To help
>     list subscribers identify messages of interest,
> it is suggested that
>     the message subject of messages about this
> component be prefixed with
>     [Patterns].</li>
> <li>Bugzilla - New component "Pattern" under the
> "Commons" product
>     category, with appropriate version identifiers
> as needed.</li>
> <li>Jyve FAQ - New category "commons-pattern" (when
> available).</li>
> </ul>
> 
> 
> <h3>(4) Initial Committers</h3>
> 
> <p>The initial committers on the Lang component
> shall be as follows:
> <ul>
> <li>Stephen Colebourne (scolebourne)</li>
> <li>Nicola Ken Barozzi (nicolaken)</li>
> <!-- Add your real name and user name here -->
> </ul>
> </p>
> 
> </body>
> </html>
> 
> > --
> To unsubscribe, e-mail:  
> <mailto:commons-dev-unsubscribe@jakarta.apache.org>
> For additional commands, e-mail:
<mailto:commons-dev-help@jakarta.apache.org>


=====
Morgan Delagrange
http://jakarta.apache.org/taglibs
http://jakarta.apache.org/commons
http://axion.tigris.org

__________________________________________________
Do You Yahoo!?
Yahoo! - Official partner of 2002 FIFA World Cup
http://fifaworldcup.yahoo.com

--
To unsubscribe, e-mail:   <mailto:commons-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:commons-dev-help@jakarta.apache.org>


Mime
View raw message