Class-MethodMaker reviews

cpanratings
 

RSS | Module Info | Add a review of Class-MethodMaker

Class-MethodMaker (2.15)

No rating, I'm biased, only a hint for people who just discover this module because it is prominently named in books on the market:

If you are looking for how to do OO in Perl then please have a look at more modern approaches, in particular "Moose". That will provide you with a much more concise, more natural and very modern interface.

Class-MethodMaker (2.04-1) *****

Very elegant option for doing OO in perl. Makes the easy stuff easy and the hard stuff possible.

Class-MethodMaker (2.02) ****

One of the preferred modules for creating standard getter/setter methods, among other things. There are a number of modules for doing that, this one works well.

Class-MethodMaker (1.11) *****

A lot of folks dislike Perl's OO symantics: "Bless?!?!? What's up with this bless?!?! In Python or Java I can blah blah ..." claiming that it's either too ugly or too much of a hack. Class::MethodMaker shuts them up real quick.

This module allows you to provide accessor methods - easily - to your
object. Clients that use your object will no longer have to peek and poke directly with $self to get and set 'attributes', and all you have to do is provide a list of attributes to be created by Class::MethodMaker. Also, you can subclass your Class::MethodMaker generated object without having to redefine the constructor.

My only gripe is that there are not enough examples in the documentation, but Damian Conway's 'Object Oriented Perl' (isbn: 1884777791) has a chapter (number 8) devoted to this module which has more than enough examples.

Class-MethodMaker (1.11) ****

A splendid module for getting classes quickly written. Neat syntax allows accessor, mutators, constructors and such to be built rapidly. Automatically creates convenience methods for list and hash instance data. Handles delegation. Does lots of good stuff. Worth a good look.

Only drawback is that some of the more complicated bits of behaviour aren't documented that well, but that's ok because those are the complicated bits =)