This is the Class::Singleton module. A Singleton describes an
object class that can have only one instance in any system. An
example of a Singleton might be a print spooler or system
registry. This module implements a Singleton class from which
other classes can be derived. By itself, the Class::Singleton
module does very little other than manage the instantiation of a
single object. In deriving a class from Class::Singleton, your
module will inherit the Singleton instantiation method and can
implement whatever specific functionality is required.
This is a base class that is inherited by the Class::Measure classes.
This distribution comes with the class Class::Measure::Length.
This perl module provides a clone() method which makes recursive copies
of nested hash, array, scalar and reference types, including tied
variables and objects.
The "mix_class" function provided by this module dynamically generates
`anonymous' classes with specified inheritance.
This module is an alternative to Class::Singleton and
Class::WeakSingleton, and provides a more secure Singleton class in that
it takes steps to prevent the possibility of accidental creation of
multiple instances and/or the overwriting of existing Singleton
instances.
This distribution facilitates the run-time generation of classes which
inherit from a base class and some optional selection of mixin classes.
A factory is provided to generate the mixed classes with multiple
inheritance. A NEXT method allows method redispatch up the inheritance
chain.
The Class:Multimethod module exports a subroutine (&multimethod) that can
be used to declare other subroutines that are dispatched using a algorithm
different from the normal Perl subroutine or method dispatch mechanism.
Normal Perl subroutines are dispatched by finding the appropriately-named
subroutine in the current (or specified) package and calling that. Normal
Perl methods are dispatched by attempting to find the appropriately-named
subroutine in the package into which the invoking object is blessed or,
failing that, recursively searching for it in the packages listed in the
appropriate @ISA arrays.
Class::Multimethods multimethods are dispatched quite differently. The
dispatch mechanism looks at the classes or types of each argument to the
multimethod (by calling ref on each) and determines the "closest" matching
variant of the multimethod, according to the argument types specified in
the variants' definitions (see "Finding the "nearest" multimethod" for a
definition of "closest").
This module offers a minimalist class construction kit in around 120
lines of code.
Class::NamedParms
Provides standard get/set/clear accessors for a class via named
parameter with forced lexical checking of named parameters
for validity and initialization validation. Lightweight and simple
to use. Designed as a base class for inheritance by other modules.
Perl module which implements the Null Class design pattern