                    Singleton Example
                    =================

An example of using the singleton aspect. Shows how an AOP solution
requires less code, and suffers from less EEK, compared with an OOP
solution.


oop.pl - we want to make sure users create only one printer, per Perl
         interperter. And we don't want to pass it around in argument
         lists all over the place. So we make it into a singleton. The
         OOP solution suffers from EEK: clients and the singleton
         itself, are both aware of the singleton requirement.


aop.pl - the AOP solution is exactly like the solution before the
         singleton requirement was added, except for setting up the
         aspect. The only place in the system where the singleton
         requirement is specified is in the aspect.
