Class::InsideOut::Manual::About 1.03
Sponsored Links
Class::InsideOut::Manual::About 1.03 Ranking & Summary
File size:
0.047 MB
Platform:
Any Platform
License:
Perl Artistic License
Price:
Downloads:
1103
Date added:
2006-10-17
Publisher:
David A. Golden
Class::InsideOut::Manual::About 1.03 description
Class::InsideOut::Manual::About is a guide to this and other implementations of the inside-out technique.
This manual provides an overview of the inside-out technique and its application within Class::InsideOut and other modules. It also provides a list of references for further study.
Inside-out object basics
Inside-out objects use the blessed reference as an index into lexical data structures holding object properties, rather than using the blessed reference itself as a data structure.
$self->{ name } = "Larry"; # classic, hash-based object
$name{ refaddr $self } = "Larry"; # inside-out
The inside-out approach offers three major benefits:
- Enforced encapsulation: object properties cannot be accessed directly from ouside the lexical scope that declared them
- Making the property name part of a lexical variable rather than a hash-key means that typos in the name will be caught as compile-time errors (if using strict)
- If the memory address of the blessed reference is used as the index, the reference can be of any type
In exchange for these benefits, robust implementation of inside-out objects can be quite complex. Class::InsideOut manages that complexity.
Philosophy of Class::InsideOut
Class::InsideOut provides a set of tools for building safe inside-out classes with maximum flexibility.
It aims to offer minimal restrictions beyond those necessary for robustness of the inside-out technique. All capabilities necessary for robustness should be automatic. Anything that can be optional should be. The design should not introduce new restrictions unrelated to inside-out objects, such as attributes and CHECK blocks that cause problems for mod_perl or the use of source filters for syntatic sugar.
As a result, only a few things are mandatory:
- Properties must be based on hashes and declared via property
- Property hashes must be keyed on the Scalar::Util::refaddr
- register must be called on all new objects
All other implementation details, including constructors, initializers and class inheritance management are left to the user (though a very simple constructor is available as a convenience). This does requires some additional work, but maximizes freedom. Class::InsideOut is intended to be a base class providing only fundamental features. Subclasses of Class::InsideOut could be written that build upon it to provide particular styles of constructor, destructor and inheritance support.
This manual provides an overview of the inside-out technique and its application within Class::InsideOut and other modules. It also provides a list of references for further study.
Inside-out object basics
Inside-out objects use the blessed reference as an index into lexical data structures holding object properties, rather than using the blessed reference itself as a data structure.
$self->{ name } = "Larry"; # classic, hash-based object
$name{ refaddr $self } = "Larry"; # inside-out
The inside-out approach offers three major benefits:
- Enforced encapsulation: object properties cannot be accessed directly from ouside the lexical scope that declared them
- Making the property name part of a lexical variable rather than a hash-key means that typos in the name will be caught as compile-time errors (if using strict)
- If the memory address of the blessed reference is used as the index, the reference can be of any type
In exchange for these benefits, robust implementation of inside-out objects can be quite complex. Class::InsideOut manages that complexity.
Philosophy of Class::InsideOut
Class::InsideOut provides a set of tools for building safe inside-out classes with maximum flexibility.
It aims to offer minimal restrictions beyond those necessary for robustness of the inside-out technique. All capabilities necessary for robustness should be automatic. Anything that can be optional should be. The design should not introduce new restrictions unrelated to inside-out objects, such as attributes and CHECK blocks that cause problems for mod_perl or the use of source filters for syntatic sugar.
As a result, only a few things are mandatory:
- Properties must be based on hashes and declared via property
- Property hashes must be keyed on the Scalar::Util::refaddr
- register must be called on all new objects
All other implementation details, including constructors, initializers and class inheritance management are left to the user (though a very simple constructor is available as a convenience). This does requires some additional work, but maximizes freedom. Class::InsideOut is intended to be a base class providing only fundamental features. Subclasses of Class::InsideOut could be written that build upon it to provide particular styles of constructor, destructor and inheritance support.
Class::InsideOut::Manual::About 1.03 Screenshot
Advertisements
Class::InsideOut::Manual::About 1.03 Keywords
InsideOut
About 1.03
guide to
inside-out
technique
reference
object
name
implementations
Class::InsideOut::Manual::About
ClassInsideOutManualAbout
Class::InsideOut::Manual::About 1.03
Libraries
Programming
Bookmark Class::InsideOut::Manual::About 1.03
Class::InsideOut::Manual::About 1.03 Copyright
WareSeeker periodically updates pricing and software information of Class::InsideOut::Manual::About 1.03 full version from the publisher, so some information may be slightly out-of-date. You should confirm all information before relying on it. Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future development of Class::InsideOut::Manual::About 1.03 Edition. Download links are directly from our publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed
Featured Software
Want to place your software product here?
Please contact us for consideration.
Contact WareSeeker.com
Related Information
inside out baby
inside out
inside outside
insideout sports
inside out recreation
inside out lyrics
inside outlet
from the inside out
insideout music
insideout a cappella
hyper flex inside out ball
inside out eve 6
hitchhikeru0027s guide to the galaxy
inside outlook express
habs inside out
inside out sports
insideoutside
guide to grammar and writing
Related Software
Class::InsideOut is a Perl module with a safe, simple inside-out object construction kit. Free Download
Class::Std::Utils is a Perl module for utility subroutines for building "inside-out" objects. Free Download
Class::Declare is a Perl module created to declare classes with public, private and protected attributes and methods. Free Download
Class::IntrospectionMethods is a Perl module that creates methods with introspection. Free Download
Object::InsideOut is a comprehensive inside-out object support module. Free Download
Class::Meta::Declare is a Perl module deprecated in favor of Class::Meta::Express. Free Download
Convert::Scalar is a Perl module that can convert between different representations of perl scalars. Free Download
Class::Struct::FIELDS module combine Class::Struct, base and fields. Free Download
Latest Software
Popular Software
Favourite Software