IOC::Service::Prototype - An IOC Service object which returns a prototype
instance
use IOC::Service::Prototype;
This class essentially can be used just like IOC::Service, the only difference
is that it will return a new instance of the component each time rather than a
singleton instance.
+--------------+
| IOC::Service |
+--------------+
|
^
|
+-------------------------+
| IOC::Service::Prototype |
+-------------------------+
One important distinction to make about this lifecycle as opposed to the
singleton lifecycle is that we do not make any references to the component
within the service, so you have total control over the scope of your
component. This means that once the prototypical component you retrieved from
a IOC::Service::Prototype container goes out of scope, it's
"DESTROY" method will be called (assuming
all it's own references have been cleaned up).
- instance
- This is the only method this subclass overrides. It changes this behavior
to return a new instance of the component each time, as opposed to the
normal Singleton instance.
- Work on the documentation
None that I am aware of. Of course, if you find a bug, let me know, and I will
be sure to fix it.
I use Devel::Cover to test the code coverage of my tests, see the CODE
COVERAGE section of IOC for more information.
- Prototype-style components are supported by the Spring Framework.
- <http://www.springframework.com>
stevan little, <stevan@iinteractive.com>
Copyright 2004-2007 by Infinity Interactive, Inc.
<http://www.iinteractive.com>
This library is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.