Update moose class outline
Dave Rolsky [Thu, 18 Jun 2009 00:10:35 +0000 (19:10 -0500)]
moose-class/slides/outline

index 789baa9..bbcdacd 100644 (file)
 ** Email
 ** class names & role names
 * coercions
+* duck_type
 * attribute isa & does
+* attribute coerce => 1
+* MX::Types
 
 == Exercises
 
+* Add sane types to all existing attributes in Person, Employee, roles
+* Add an email attribute. Make a new email type that does some minimal validate like /[^@]+\@[\w\-]+(?:\.[\w\-]+)+/
+
 = Advanced attributes
 
 * weak_ref
 
 == Exercises
 
+* Make the bank account a proper object and delegate to it for deposit & withdraw
+* Add an overdraft account like in the cookbook
+* Make the overdraft account link bank to accounts which link to it as a weak_ref
+* metaclass & traits?
+
 = Introspection
 
-== Exercises
+* List of attributes for a class
+** attribute options
+** associated methods
+* List of methods for a class
+** associated attributes
+** check original_package for source of method (did it come from a role?)
+** $method->isa(...) to determine if it's wrapped/augmented/overridden
+* List of parent classes, subclasses
 
 = Tour of MooseX
 
+* MX::AH
+** delegation for Perl built-ins
+** private accessor with public provides (_options as the attribute, get_option, set_option, options_list)
+** lazy default of an empty reference
+* ::StrictConstructor
+* ::Getopt
+* ::Clone
+* ::Declare
+* ::Workers
+* ::Singleton
+* ::ClassAttribute
+
 = Writing a MooseX Module
 
 == Exercises