Revision history for Perl extension IOC.
0.13 Wed Nov 17 2004
* IOC::Service::Prototype
- removed any reference to the prototypical
instance, so that complete lifecycle control
is given to the consumer of the service
~ added tests and documentation for this
0.12 Tues Nov 16 2004
+ Added IOC::Proxy::Interfaces
- added tests and documentation for this
* IOC::Proxy
- broke out some more methods, so that subclasses
can really affect things on a granular level
0.11 Thurs Nov 11 2004
* IOC
- added the IOC::Proxy module to the module
which get pre-loaded with this module
* IOC::Proxy
- broke the main methods down into small methods
(in Strategy pattern fashion) to allow for
variance of functionality in subclasses
* IOC::Container
- now detects a cyclical relationship and will
throw an IOC::IllegalOperation exception if it
is found. I am currently working on how to
allow for these types of relationships to exists
so this is really just a temporary solution.
0.10 Tues Nov 9 2004
* IOC::Proxy
~ fixed a warning about subroutine redefinition
when we add the auto-stringification
functionality to an object
0.09 Mon Nov 8 2004
+ added IOC::Proxy
- added tests and documentation for this
* IOC::Exceptions
- added the IOC::OperationFailed exception
* IOC::Container
- added the proxy related functions and all
the code to handle it
~ added tests and documentation
for this functionality
0.08 Fri Nov 5 2004
* IOC::Container
- added the 'unregister' method to remove
allow a IOC::Service to be removed
~ added tests and documentation
* IOC::Service
- added the 'removeContainer' method to
facilitate the IOC::Container->unregister
method
~ added tests and documentation
0.07 Thurs Oct 21 2004
> Improved documentation for all classes, however
I still have more to write
+ added IOC::Service::Prototype
+ added IOC::Service::Prototype::ConstructorInjection
+ added IOC::Service::Prototype::SetterInjection
- this allows services to dispense prototypes
rather then just singleton instances
~ added tests for these new classes
* IOC::Exceptions
~ added IOC::NotFound exception to handle
general cases
* IOC::Container
~ added findRootContainer method
* IOC::Container::MethodResolution
- now handles auto-finding of sub-containers
as well, and introduces a new pseduo-method
'root' which will allow you to go back to the
root of the container hierarchy.
* IOC::Service::ConstructorInjection
- fixed parameter handling so it works
with the Prototype:: classes
* IOC::Visitor::ServiceLocator
- now uses findRootContainer method
* IOC::Visitor::SearchForContainer
- removed redundant code (thanks Devel::Cover :)
0.06 Tues Oct 19 2004
<< NOTE: Some API Changes >>
* IOC::Registry
- changed names of methods, anything with
the word 'Root' in it has now been changed
to 'Registered'.
- added unregisterContainer method
- added locateService method
- added locateContainer method
- added getRegisteredContainerList method
- added hasRegisteredContainer method
- added DESTORY method
~ added tests and documentation for all new methods
* IOC::Service
~ removed optional $container argument to constructor
* IOC::Service::ConstructorInjection
~ removed optional $container argument to constructor
* IOC::Service::SetterInjection
~ removed optional $container argument to constructor
0.05 Tues Oct 19 2004
+ added IOC::Registry
~ created dependency with Class::StrongSingleton
~ added tests for this
+ added IOC::VisitorSearchForService
~ added tests for this
+ added IOC::VisitorSearchForContainer
~ added tests for this
* IOC::Container
> added hasSubContainer method
> added hasService method
0.04 Tues Oct 19 2004
< No CODE changes>
- forgot to add Class::Interfaces to the dependency list
- forgot to include this changelog
0.03 Mon Oct 18 2004
+ added IOC::Interfaces
~ created dependency with Class::Interfaces
+ added IOC::Visitor::ServiceLocator
~ added tests for this
* IOC::Exceptions
> changed few names again, but I got it right now
* IOC::Container
> added visitor support
- made IOC::Container inherit from the
IOC::Visitable interface (see IOC::Interfaces)
~ added tests for this
~ added documentation for this
> added support for sub-containers
- added example of this to SYNOPSIS
- added a number of methods to deal with
sub-containers and parent containers
~ added tests for all these
~ added documentation for all these
> added 'find' method which utilizes a Visitor
to locate a given service through a path-like syntax
(see the IOC::Visitor::ServiceLocator for more)
> changed names of exceptions
~ IOC::DuplicateServiceException to IOC::ServiceAlreadyExists
0.02 Fri Oct 15 2004
+ added IOC::Container::MethodResultion
~ added tests for this
+ added IOC::Service::ConstructorInjection
~ added tests for this
+ added IOC::Service::SetterInjection
~ added tests for this
* IOC::Exceptions
> added a few more exceptions to IOC::Exceptions
and changed the names of a few as well
* IOC::Container
> changed names of exceptions
~ IOC::MissingService to IOC::ServiceNotFound
* IOC::Service
> when a container is passed to the IOC::Service
constructor, it will now cause the service to
be officially registered with the container
0.01 Thu Oct 14 20:03:20 2004
- module created