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
1-day
Perl developers who understand the basics of Perl OO but who are looking for faster, safer, and more powerful ways to build classes