Well only 359 Pages and 4 Edtions to go.

Well I have a good deal of post on my AD&D and Moose and looking at the time line below


I could be at this for a 'very, ' x 5; long time.

So I think a little post to review what I have done so far is in order,

  • A little Intro
  • I started with this Out of the Barn Yard where I did a little generic whining about how all OO programming examples make some-thing bark, squeak, or fly and that got me started.

  • Roles Vs Classes
  • My next series of posts, 'Are Abilities Roles', Rolless in Seattle, Oh Well Back to the O'l Drawing Board, and A Roleing Class Gathers no Moose. I examined how classes and roles differ and how they can be used and how they can be abused. Mostly one has to think first before doing too much coding.

  • Roles and Code Reuse
  • In my next series of posts I looked at 'Roles' for code reuse and next I covered how Moose handles sticky little diamond problems with aliases in roles so I do not have to keep extending my classes,

  • BUILD, Meta and Moose::Util
  • Next series I started to look at how to put the pieces together by utilizing Moose's 'BUILD' sub and 'Meta' to bring roles into a class at instantiation time. I also looked at one of the common pitfalls of BUILD subs (big if then else constructions) I then posted on how to fix this with a Moose::Util solution. In my last post of this series I introduced how to set up some customize errors with Moose

  • MooseX
  • My next series introduced a Moose Extension Role::Parameterized to give me even more power to apply roles at BUILD time. The next post expanded on this and showed how even complex rule sets can be easily worked out with Moose.

  • Make it a Moose with MooseX::NonMoose
  • In this post I looked at taking a .pm that was non-moose and turning into a Moose class that I could use under my Games::RPG::ADD namespace

  • Validating with Moose::Util::TypeConstraints
  • In my next post I moved over to 'Player Character' creation and encountered a different set of problems starting with how Moose can validate parameter data with custom constraints

  • More Moose
  • In my next series of posts I wanted to weed out poor ability rolls that would not result in a 'Player Character', I started with by trying Parameterized roles, and failed (badly) and then I tried 'Moose Delegation', crashed and burned again! Moose came though in the end when I found MooseX::Role::BuildInstanceOf' which worked nicely despite needing a self applied patch

  • Putting it Together
  • In my next series of posts I started to put the stuff together first utilizing a Visitor pattern next I wanted to screen for race where I introduced how to use 'Module::PluginFinder' to check my races with another visitor pattern. My next post I added in some more rule complexity and even got to use Moose Delegation. The next post I suggested that I was creating way too many little roles and I might be better of with another design and discussed some of my options. In my next post I discovered the advantage of using namespaces with roles, and finally my last post reused the same visitor pattern again but left off with the fact I have some refactoring to do

So where to go from here. I have covered off a good deal of Moose and general design work and Moose has solved most of my problems quite handily I wonder what awaits me next?? As there are some very odd rules to apply in the future.


Leave a comment

About byterock

user-pic Long time Perl guy, a few CPAN mods allot of work on DBD::Oracle and a few YAPC presentations