Object-Oriented Perl with Object::InsideOut

Object::InsideOut is a sophisticated framework that makes it much
easier and much quicker to build safe, reliable, powerful, and
maintainable OO classes in Perl.

Object::InsideOut has many features in common with the popular Moose
framework, but avoids several of Moose's fundamental limitations:
it has far fewer non-core module dependencies, it has a much lower
start-up overhead, and it inherently solves the difficult problem
of attribute name collisions.

This class introduces and explains the Object::InsideOut framework,
covering the following topics:

What's wrong with Perl's OO system

Declarative vs imperative class specifications

Inside-out classes: what they are, how they work, why they're worth the trouble

Basic features of the Object::InsideOut framework:

Object types

Fields

Accessors

Initialization

Access control

Inheritance

Advanced features of Object::InsideOut:

Cumulative methods

Chained methods

Weak fields

Advanced initialization features

Automethods

Operator overloading and type coercions

Runtime class modifications

Delegators

Threading support

Serialization support

Inheriting from outside-in classes

Singleton classes

Class metadata

Caveats and limitations of the framework

Course format

Half-day or 1-day seminar

Who should attend

Perl developers who understand the basics of Perl OO
but who are looking for faster, safer, and more powerful
ways to build classes