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.321.914 Times

Class::InsideOut::Manual::About 1.03

  Date Added: September 23, 2010  |  Visits: 1.301

Class::InsideOut::Manual::About

Report Broken Link
Printer Friendly Version


Product Homepage
Download (109 downloads)



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..

Requirements: No special requirements
Platforms: Linux
Keyword: Classinsideoutmanualabout Guide To Implementations Inside-out Insideout Libraries Name Object Objects Programming Reference
Users rating: 0/10

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


CLASS::INSIDEOUT::MANUAL::ABOUT RELATED
Education  -  Quick Guide to English Verbs 1.01
Free English4Today studyGuide: Guide to English language verbs and tenses with optional online support materials and exercises. Part of a series of free studyGuides developed by English4Today.com for school, college,university and EFL students....
3 KB  
Science  -  The Definitive Guide To VoIP 1.0
Definitive Guide To VoIP. You're About To Learn How To Speed The Communication Process, No more Wasted Time Spent Typing, Never Make Another Phone Call Again! It doesn't matter if you're new to the computer and do not have any experience or...
145 KB  
Audio Tools  -  Guide to Matlab 1.0
Guide to Matlab, Matlab 7, Matlab Getting Started, Matlab Demystified, Matlab for Engineers
2.54 MB  
Database Tools  -  Introduction to Object-Oriented Programming in MATLAB(R) Webinar 1.0
This contains the demo files and the presentation PDF file used in the "Introduction to Object-Oriented Programming in MATLAB(R)" Webinar, which was delivered in April 2009. These are meant to augment the Webinar, not replace it. Check out the...
30.72 KB  
Libraries  -  Class::InsideOut 1.02
Class::InsideOut is a Perl module with a safe, simple inside-out object construction kit. SYNOPSIS package My::Class; use Class::InsideOut qw( public private register id ); public name => my %name; # accessor: name() private age => my...
48.13 KB  
Libraries  -  Class::Std::Storable 0.0.1
Class::Std::Storable is a Perl module to support for creating serializable "inside-out" classes. SYNOPSIS In general, use this class exactly as you would Class::Std. package Ice::Cream; use Class::Std::Storable; { my %name_of :ATTR( :get...
8.19 KB  
Libraries  -  Chatbot::Alpha::Tutorial 2.04
Chatbot::Alpha::Tutorial is a beginners guide to Chatbot::Alpha 2.x. INTRODUCTION What is Chatbot::Alpha? Chatbot::Alpha is a Perl module for reading and processing Alpha code. Alpha code is a command-driven response language, primarily used...
30.72 KB  
Libraries  -  Class::Std::Utils 0.0.2
Class::Std::Utils is a Perl module for utility subroutines for building "inside-out" objects. SYNOPSIS use Class::Std::Utils; # Constructor for anonymous scalars... my $new_object = bless anon_scalar(), $class; # Convert an object...
5.12 KB  
Gaming Utilities  -  fortune-hitchhiker 2005-06-11
fortune-hitchhiker project consists of quotes from the "Hitchhikers Guide to the Galaxy". "Zaphod grinned two manic grins, sauntered over to the bar and bought most of it." -- Zaphod in paradise. To install these fortunes, copy the .dat...
11.26 KB  
Libraries  -  GNU Classpath 0.95
GNU Classpath (essential libraries for Java) is a project to create free core class libraries for use with virtual machines and compilers for the Java programming language. GNU Classpath project includes all native methods and core classes...
6.5 MB  
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