Class::Adapter man page on Pidora

Man page or keyword search:  
man Server   31170 pages
apropos Keyword Search (all sections)
Output format
Pidora logo
[printable version]

Class::Adapter(3)     User Contributed Perl Documentation    Class::Adapter(3)

NAME
       Class::Adapter - Perl implementation of the "Adapter" Design Pattern

DESCRIPTION
       The "Class::Adapter" class is intended as an abstract base class for
       creating any sort of class or object that follows the Adapter pattern.

   What is an Adapter?
       The term Adapter refers to a "Design Pattern" of the same name, from
       the famous "Gang of Four" book "Design Patterns". Although their
       original implementation was designed for Java and similar single-
       inheritance strictly-typed langauge, the situation for which it applies
       is still valid.

       An Adapter in this Perl sense of the term is when a class is created to
       achieve by composition (objects containing other object) something that
       can't be achieved by inheritance (sub-classing).

       This is similar to the Decorator pattern, but is intended to be applied
       on a class-by-class basis, as opposed to being able to be applied one
       object at a time, as is the case with the Decorator pattern.

       The "Class::Adapter" object holds a parent object that it "wraps", and
       when a method is called on the "Class::Adapter", it manually calls the
       same (or different) method with the same (or different) parameters on
       the parent object contained within it.

       Instead of these custom methods being hooked in on an object-by-object
       basis, they are defined at the class level.

       Basically, a "Class::Adapter" is one of your fall-back positions when
       Perl's inheritance model fails you, or is no longer good enough, and
       you need to do something twisty in order to make several APIs play
       nicely with each other.

   What can I do with the actual Class::Adapter class
       Well... nothing really. It exist to provide some extremely low level
       fundamental methods, and to provide a common base for inheritance of
       Adapter classes.

       The base "Class::Adapter" class doesn't even implement a way to push
       method calls through to the underlying object, since the way in which
       that happens is the bit that changes from case to case.

       To actually DO something, you probably want to go take a look at
       Class::Adapter::Builder, which makes the creation of Adapter classes
       relatively quick and easy.

METHODS
       The "Class::Adapter" class itself supplies only the two most common
       methods, a default constructor and a private method to access the
       underlying object.

   new $object
       The default "new" constructor takes a single object as argument and
       creates a new object which holds the passed object.

       Returns a new "Class::Adapter" object, or "undef" if you do not pass in
       an object.

   _OBJECT_
       The "_OBJECT_" method is provided primarily as a convenience, and a
       tool for people implementing sub-classes, and allows the
       "Class::Adapter" interface to provide a guarenteed correct way of
       getting to the underlying object, should you need to do so.

SUPPORT
       Bugs should be reported via the CPAN bug tracker at

       http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Class-Adapter
       <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Class-Adapter>

       For other issues, contact the author.

TO DO
       - Write more comprehensive tests

AUTHOR
       Adam Kennedy <adamk@cpan.org>

SEE ALSO
       Class::Adapter::Clear, Class::Adapter::Builder, Class::Decorator

COPYRIGHT
       Copyright 2005 - 2011 Adam Kennedy.

       This program is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself.

       The full text of the license can be found in the LICENSE file included
       with this module.

perl v5.14.0			  2011-03-24		     Class::Adapter(3)
[top]

List of man pages available for Pidora

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net