Class::Container
Details
| Size: | 18K |
| Last Update: | 2008-05-17 01:33:04 |
| Version: | 0.12 |
| OS Support: | Linux |
| License/Program Type: | Perl Artistic License |
| Publisher: | Ken Williams |
| Price: | $0.00 |
Description:
Class::Container 0.12 is libraries software developed by Ken Williams.
Class::Container is a Perl module with Glues object frameworks together transparently.
SYNOPSIS
package Car;
use Class::Container;
@ISA = qw(Class::Container);
__PACKAGE__->valid_params
(
paint => {default => 'burgundy'},
style => {default => 'coupe'},
windshield => {isa => 'Glass'},
radio => {isa => 'Audio::Device'},
);
__PACKAGE__->contained_objects
(
windshield => 'Glass::Shatterproof',
wheel => { class => 'Vehicle::Wheel',
delayed => 1 },
radio => 'Audio::MP3',
);
sub new {
my $package = shift;
'windshield' and 'radio' objects are created automatically by
SUPER::new()
my $self = $package->SUPER::new(@_);
$self->{right_wheel} = $self->create_delayed_object('wheel');
... do any more initialization here ...
return $self;
}
This class facilitates building frameworks of several classes that inter-operate. It was first designed and built for HTML::Mason, in which the Compiler, Lexer, Interpreter, Resolver, Component, Buffer, and several other objects must create each other transparently, passing the appropriate parameters to the right class, possibly substituting other subclasses for any of these objects.
The main features of Class::Container are:
Explicit declaration of containment relationships (aggregation, factory creation, etc.)
Declaration of constructor parameters accepted by each member in a class framework
Transparent passing of constructor parameters to the class that needs them
Ability to create one (automatic) or many (manual) contained objects automatically and transparently
Requirements:
Perl
Class::Container 0.12 supports different languages (including english). It works with Linux.
Downloading Class::Container 0.12 will take several seconds if you use fast ADSL connection.
0 comments
Add to
Class::Container Version History
Related Software
|
|
From category: Perl-Modules |
| Crypt::Eksblowfish::Blowfish is a Blowfish block cipher via Eksblowfish engine.... |
|
|
From category: Libraries |
| JPerf is a Java library, a perfect hash function generator.... |
|
|
From category: Libraries |
| Bundle::BricolagePlus 1.10.0 is libraries software developed by David Wheeler. Bundle::BricolagePlus are optional and required modules for the Bricolage content management system. SYNOPSIS... |
|
|
From category: Bug-Tracking |
| eTraxis is a free web-based bug tracking system with unlimited number of custom workflow templates.... |
|
|
From category: Code-Generators |
| The Mary Engine is a portable, cross platform game engine, aiding developers in the creation games software.... |
|
|
From category: Libraries |
| AxKit2::Plugin 1.1 is libraries software developed by AxKit2::Plugin Team. AxKit2::Plugin is a base class for all plugins. An AxKit2 plugin allows you to hook into various parts of processin... |
|
|
From category: Libraries |
| ExtUtils::ModuleMaker::TT 0.93 is libraries software developed by David A Golden. ExtUtils::ModuleMaker::TT is a Perl module that makes skeleton modules with Template Toolkit templates. SYNO... |
|
|
From category: Libraries |
| C++ XML Objects 1.0.0.7 is libraries software developed by Paul Hamilton. C++ XML Objects is a framework for persisting hierarchies of C++ objects to and from XML. Boost, The STL and Patterns are u... |
|
|
From category: Preprocessors |
| distcc 2.18.3 is preprocessors software developed by Martin Pool. distcc is a program to distribute builds of C, C++, Objective C or Objective C++ code across several machines on a network.... |
|
|
From category: Libraries |
| Bundle::MusicBrainz::Client 0.01 is libraries software developed by Sander van Zoest. Bundle::MusicBrainz::Client is a Perl module with a bundle to install MusicBrainz::Client and required modules.... |
|
|
From category: Libraries |
| Authen::Captcha 1.023 is libraries software developed by Seth T. Jackson and Josh I. Miller. Authen::Captcha is a Perl extension for creating captcha\'s to verify the human element in transactions.... |
|
|
From category: Libraries |
| Adevs 2.0.5 is libraries software developed by Jim Nutaro. adevs is a C++ library for developing discrete event simulations based on the Parallel DEVS and DSDEVS formalisms. DEVS has been ap... |
|
|
From category: Assembler-Tools |
| Chump 0.0.10 is assembler tools software developed by Charlie Brej. Chump is a language I created to describe line assemblers and disassembles in one description. It is used in KMD to descri... |
|
|
From category: Libraries |
| Email::Store::DBI 0.254 is libraries software developed by Simon Cozens. Email::Store::DBI is a Perl module for database backend to Email::Store. SYNOPSIS use Email::Store \'dbi:...\... |
|
|
From category: Libraries |
| Class::XML 0.06 is libraries software developed by Matt S Trout. Class::XML is a Perl module for simple XML Abstraction. SYNOPSIS package Foo; use base qw/Class::XML/; \... |
Leave a comment