Revision history for Perl extension IOC.
0.09 Mon Nov 5 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