Provided by: libpackage-new-perl_0.09-2_all bug

NAME

       Package::New - Simple base package from which to inherit

SYNOPSIS

         package My::Package;
         use base qw{Package::New}; #provides new and initialize

DESCRIPTION

       The Package::New object provides a consistent constructor for objects.

       I find that I always need these two methods in every package that I build.  I plan to use
       this package as the base for all of my CPAN packages.

RECOMMENDATIONS

   Sane defaults
       I recommend that you have sane default for all of your object properties.  I recommend
       using code like this.

         sub myproperty {
           my $self=shift;
           $self->{"myproperty"}=shift if @_;
           $self->{"myproperty"}="Default Value" unless defined $self->{"myproperty"};
           return $self->{"myproperty"};
         }

   use strict and warnings
       I recommend to always use strict, warnings and our version.

         package My::Package;
         use base qw{Package::New};
         use strict;
         use warnings;
         our $VERSION='0.01';

   Lazy Load where you can
       I recommend Lazy Loading where you can.

         sub mymethod {
           my $self=shift;
           $self->load unless $self->loaded;
           return $self->{"mymethod"};
         }

USAGE

CONSTRUCTOR

   new
         my $obj = Package::New->new(key=>$value, ...);

   initialize
       You can override this method in your package if you need to do something after
       construction.  But, lazy loading may be a better option.

BUGS

       Log on RT and contact the author.

SUPPORT

       DavisNetworks.com provides support services for all Perl applications including this
       package.

AUTHOR

         Michael R. Davis
         CPAN ID: MRDVT
         DavisNetworks.com
         http://www.DavisNetworks.com/

COPYRIGHT

       This program is free software licensed under the...

         The BSD License

       The full text of the license can be found in the LICENSE file included with this module.

SEE ALSO

   Building Blocks
       base, parent

   Other Light Weight Base Objects Similar to Package::New
       Package::Base, Class::Base, Class::Easy, Object::Tiny, Badger::Base

   Heavy Base Objects - Drink the Kool-Aid
       VSO, Class::Accessor::Fast, Class::Accessor, Moose, (as well as Moose-alikes Moo, Mouse),
       Class::MethodMaker, Class::Meta

   Even more
       Spiffy, mixin, SUPER, Class::Trait, Class::C3, Moose::Role