The following module was proposed for inclusion in the Module List:
modid: Class:Aggregate
DSLIP: bdpOg
description: Base class aggregating several OO aspects
userid: CORLISS (Arthur Corliss)
chapterid: 6 (Data_Type_Utilities)
communities:
mailinglists
similar:
Class::Accessor, Class::Container, POE, etc.
rationale:
Okay, this is the last time I'm going to bother you with this
request, I just haven't heard a response to my last rationale(s).
I'm choosing the name Class::Aggregate since this module aggregates
three class aspects, in contrast to most of the Class::* modules,
which concentrate on specific traits. This module provides
facilities for property accessors, containers, and rudimentary
events.
The reason why this exists as a separate module/code base is that
it chooses a different method of implementation than the existing
modules, and its feature focus is also different as well.
Syntactically, this module is meant to be used strictly as an
ancestor of a custom subclass. Properties are defined as an array of
write and read accessor method references, or a single unifed
accessor method (a generic accessor that can serve in any of these
capacities is provided as part of the class). The container property
is implemented with a focus on controlled destruction of contained
objects, rather than on a consistent interface.
The event system is based on psuedo boolean properties combined
into a state flag register. All accesses/modifications of a flag can
trigger execution of an optional associated event handler. This
system is much smaller and simpler to implement than POE, and,
accordingly, the dependencies are much smaller (read: nothing
outside of core Perl), as are the capabilities (using POE for what
this class intends is much akin to using a twenty pound sledge where
I only need a sixteen ounce ballpeen).
For these reasons, I hope to persuade you that this module deserves
a place on CPAN. Adding it to CPAN would also increase my code
reuse, since my other OO CPAN modules will be making use of this
code in the near future, and I'm hoping I won't have to include this
module within the namespace of each of those modules.
enteredby: CORLISS (Arthur Corliss)
enteredon: Tue Jan 28 01:10:25 2003 GMT
The resulting entry would be:
Class:Aggregate bdpOg Base class aggregating several OO aspects CORLISS
Thanks for registering,
The Pause Team
PS: The following links are only valid for module list maintainers:
Registration form with editing capabilities:
https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=92200000_3607a4dd5caa93ee&SUBMIT_pause99_add_mod_preview=1
Immediate (one click) registration:
https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=92200000_3607a4dd5caa93ee&SUBMIT_pause99_add_mod_insertit=1