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
- Roles Vs Classes
- Roles and Code Reuse
- BUILD, Meta and Moose::Util
- Make it a Moose with MooseX::NonMoose
- Validating with Moose::Util::TypeConstraints
- More Moose
- Putting it Together
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.
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
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.
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
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
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
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.