Revision history for Perl extension IOC.
0.29 Thurs. April 26, 2007
- IOC::Service::Parameterized
- added docs and tests for this
- IOC::Registry
- &locateService accepts additional args now
to support the parameterized containers
- IOC::Container
- &find and &get accepts additional args now
to support the parameterized containers
- IOC::Visitor::ServiceLocator
- supports additional args now for
the parameterized containers
0.28 Wed May 4 2005
- IOC::Proxy
- IOC::Proxy::Interfaces
- fixed a bug with newer perls and @_
0.27 Wed Apr 13 2005
- IOC::Config::XML
- added some more documentation
- IOC::Config::SAX::Handler
- code refactor (no functional changes)
- added some more documentation
0.26 Thurs Mar 31 2005
~ removed XML::Simple dependency
- added XML::SAX dependency
- IOC::Config::XML
- changed this to use the XML::SAX module
and the IOC::Config::XML::SAX::Handler
instead of XML::Simple
+ Added IOC::Config::XML::SAX::Handler
- adapted tests from IOC::Config::XML
(not many changes actually most things
stayed the same)
0.25 Sat Feb 26 2005
- fixed an accidentatel dependency created in
the 060_IOC_Config_XML_test.t test file. It
was looking for DBI, and specificall DBD::Mock.
I removed this and created a dummy package in
the test file as a substitute. It should work
fine now.
0.24 Mon Feb 21 2004
- IOC::Service::ConstructorInjection
- IOC::Service::SetterInjection
- improved the handling for loading
classes automatically
+ Added IOC::Config::XML
0.23 Fri Jan 14 2005
- IOC::Registry
- added aliasService() method so that you
can alias one service path for another
- added tests for this
- added docs for this
0.22 Mon Dec 27 2004
- IOC::Service::ConstructorInjection
- IOC::Service::SetterInjection
- fixed class loading error in both, these
services will load your class if it is not
loaded already, and they were not doing
it correctly.
- added tests to confirm fixes
0.21 Sat Dec 25 2004 (Merry Christmas)
+ Added IOC::Service::Literal
- this is an optimization to allow for literal
values to be held as services without them
needing to be wrapped in subroutines.
- added documentation for this
- added tests for this
- optmized this for IOC::Service::Literal objects
since they cannot have dependencies, and therefore
cannot have circular references there is no need to
fuss with them (lock, deferred, etc).
0.20 Thurs Dec 23 2004
- IOC::Service::ConstructorInjection
- added support for getting constructor args
which are outside of the current container
and can be located with find()
- added tests for this
- added to the docs for this
- IOC::Service::SetterInjection
- added support for getting setter args
which are outside of the current container
and can be located with find()
- added tests for this
- added to the docs for this
0.19 Thurs Dec 23 2004
- IOC::Proxy
- fixed an issue with how overloaded
objects were handled. We no longer
copy the '()' method. This will help
to deal with overloaded object in
a more consistent manner.
0.18 Fri Dec 17 2004
0.17 Wed Dec 15 2004
- IOC::Container
- added code to make sure that proxied instances
do not get re-proxied when they are retrieved
with get() again.
0.16 Fri Nov 26 2004
- IOC::Service
- added the deferred() method, which will
return an IOC::Service::Deferred wrapper
around the given service instance.
- IOC::Container
- removed the direct reference to the
IOC::Service::Deferred class, and it
now calls the deferred() method on
the IOC::Service instance itself.
0.15 Sat Nov 20 2004
- IOC::Container
- adjusted how cyclical dependencies are
handled, so that they are now possible,
although still somewhat in their early
stages.
- IOC::Service
- adjusted how cyclical dependencies are
handled, and created a sub-package called
IOC::Service::Deferred to facilitate this
0.14 Thurs Nov 18 2004
> now using Scalar::Util::blessed() instead of
the convoluted UNIVERSAL::isa() stuff. This
change affects a number of packages.
- added Scalar::Util as a dependency
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
- 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
- added the IOC::OperationFailed exception
- 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
- 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 >>
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
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
0.01 Thu Oct 14 20:03:20 2004