Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 956 Categories, Downloaded 50.222.337 Times

Class::Adapter 1.02

  Date Added: January 18, 2010  |  Visits: 951

Class::Adapter

Report Broken Link
Printer Friendly Version


Product Homepage
Download (102 downloads)



Class::Adapter is a Perl implementation of the "Adapter" Design Pattern. 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 cant 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 Perls 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 doesnt 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..

Requirements: No special requirements
Platforms: Linux
Keyword: Adapter Class Classadapter Design Design Pattern Implementation Libraries Object Pattern Programming
Users rating: 0/10

License: Freeware Size: 24.58 KB
USER REVIEWS
More Reviews or Write Review


CLASS::ADAPTER RELATED
Modules  -  Observer Design Pattern 1.1
This class implements the observer design pattern. Acting as a registration hub, it fires simple Events when requested.
 
Miscellaneous  -  Null Object Design Pattern 1.0
This script is a sample implementation of the 'Null Object' design pattern. Roughly, the goal with Null objects is to provide an 'intelligent' replacement for the often used primitive data type None in Python or Null (or Null pointers) in other...
 
Miscellaneous  -  Memento design pattern in python 1.0
Memento design pattern in python script allows you to cache instances based on what arguments are passed to them.
 
Miscellaneous  -  Composite design-pattern using dictionaries 1.1
The script illustrates the composite design pattern by using hierarchical dictionaries. It can be used to process hierarchical, tree-based data structures using Python dictionaries.
 
Development Tools  -  Strategy Design Pattern in Matlab 2008b 1.0
The Strategy Pattern is just one of many patterns defined by the "Gang of Four" that are commonly used in many other object-oriented programming languages.Now with Matlab 2008b we can define Interfaces and Abstract classes that can make use of...
10 KB  
Development Tools  -  Design Pattern: Singleton (Creational) 1.0
Intent: Ensures a class only has one instance and provide a global point of access to it [1].Motivation: It's important for some classes to have exactly one instance. For example, it can be desirable to have only a single instance of a GUI. With a...
40.96 KB  
Development Tools  -  Design Pattern: Iterator (Behavioural) 1.0
Provide a way to access the elements of an aggregate object sequentially without exposing its underlying representation [1]. This design pattern is also known as Cursor.Motivation: An example of an aggregate object is an instance of the List ADT....
30.72 KB  
Miscellaneous  -  Metaclass Class Policies 1.2
This code implements the policy design pattern in Python by using metaclasses and multiple inheritance.
 
Miscellaneous  -  Handler stack 2.2
This script presents a design pattern that is highly reusable. Simple handlers implement one specific task from a complex set of tasks to be performed on an object. Such handlers can then be layered in a stack, in different combinations, together...
 
Libraries  -  Rose::DB::Object::Helpers 0.764
Rose::DB::Object::Helpers is a mix-in class containing convenience methods for Rose::DB::Object. SYNOPSIS package MyDBObject; use Rose::DB::Object; our @ISA = qw(Rose::DB::Object); use Rose::DB::Object::Helpers clone, { load_or_insert =>...
481.28 KB  
NEW DOWNLOADS IN PROGRAMMING, LIBRARIES
Programming  -  Cedalion for Linux 0.2.6
Cedalion is a programming language that allows its users to add new abstractions and define (and use) internal DSLs. Its innovation is in the fact that it uses projectional editing to allow the new abstractions to have no syntactic limitations.
471.04 KB  
Programming  -  Math::GMPf 0.29
Math::GMPf - perl interface to the GMP library's floating point (mpf) functions.
30.72 KB  
Programming  -  Net::Wire10 1.08
Net::Wire10 is a Pure Perl connector that talks to Sphinx, MySQL and Drizzle servers. Net::Wire10 implements the low-level network protocol, alias the MySQL wire protocol version 10, necessary for talking to one of the aforementioned...
30.72 KB  
Programming  -  logilab-common 0.56.2
a bunch of modules providing low level functionnalities shared among some python projects devel Please note that some of the modules have some extra dependencies. For instance, logilab.common.db will require a db-api 2.0 compliant...
174.08 KB  
Programming  -  OpenSSL for linux 1.0.0a
The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, and Open Source toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols as well as a...
3.83 MB  
Libraries  -  wolfSSL 4.0.0
The wolfSSL embedded SSL/TLS library is a lightweight SSL library written in ANSI standard C and targeted for embedded and RTOS environments - primarily because of its small size, speed, and feature set. It is commonly used in standard operating...
3.88 MB  
Libraries  -  EuGTK 4.8.9
Makes it easy to develop good- looking, fast, cross-platform programs that run on Linux, OS X, and Windows. Euphoria is a very fast interpreted/compiled language with straight-forward syntax. EuGTK allows programming in a clean, object-oriented...
10.68 MB  
Libraries  -  Linux User Group Library Manager 1.0
The LUG Library Manager is a project to help Linux User Groups start their own library. A LUG library is helpful to the community at large because it increases access to information, and gives everyone the opportunity to become more knowledgeable.
5.35 KB  
Libraries  -  Module::MakefilePL::Parse 0.12
Module::MakefilePL::Parse is a Perl module to parse required modules from Makefile.PL. SYNOPSIS use Module::MakefilePL::Parse; open $fh, Makefile.PL; $parser = Module::MakefilePL::Parse->new( join("", ) ); $info = $parser->required;...
8.19 KB  
Libraries  -  sqlpp 0.06
sqlpp Perl package is a SQL preprocessor. sqlpp is a conventional cpp-alike preprocessor taught to understand SQL ( PgSQL, in particular) syntax specificities. In addition to the standard #define/#ifdef/#else/#endif cohort, provides also...
10.24 KB