Commit Graph

265 Commits

Author SHA1 Message Date
Antony Male b4aecbab9a Start work on the README 2014-02-20 14:45:28 +00:00
Antony Male 0bcc6d192d Documentation, bug-fixes, tests... 2014-02-20 13:23:28 +00:00
Antony Male 4dffb7d833 Remove duplication in the builder 2014-02-20 12:44:32 +00:00
Antony Male c7d24a75df Allow [Inject] attribute on abstract factory methods to specify key to be injected 2014-02-20 12:39:31 +00:00
Antony Male 3e09ba7e8c Move to a builder/container split
This allows proper fluent syntax to be used, e.g.
    builder.Bind(..).To(..).WithKey(..).InSingletonScope()
as well as making it clear that they can't modify the container after
it's been created. Also means less documentation duplication between
interface and implementation...

Documentation needs fixing, and the exceptions will need looking at to
make sure they still give enough information.
2014-02-19 22:13:00 +00:00
Antony Male fd3ef7d1fd Actually add the new file... 2014-02-19 20:35:51 +00:00
Antony Male 4a626a95d9 Make BindTo internal 2014-02-19 08:24:07 +00:00
Antony Male 867cd73463 Start the mammoth task of documenting everything 2014-02-18 18:13:21 +00:00
Antony Male a73a5f65d9 Reflector StyletIoC into multiple implementation files 2014-02-18 13:15:24 +00:00
Antony Male 374f5d9049 Fix parameter injection 2014-02-18 12:26:08 +00:00
Antony Male c7ea379071 Working towards IInjectionAware, but for some reason test case isn't being injected at all... 2014-02-18 08:27:14 +00:00
Antony Male 145e5697f2 WIP towards building up instances as they're created 2014-02-17 18:18:05 +00:00
Antony Male 9a18af55c9 Fix BuildUp, and add unit tests 2014-02-17 17:51:39 +00:00
Antony Male 27594d2fdb WIP towards BuildUp() functionality 2014-02-17 13:23:47 +00:00
Antony Male 3639289b93 Add dyanamic factory implementation, with Bind(...).ToAbstractFactory() syntax 2014-02-17 12:47:29 +00:00
Antony Male 396d55098a Fix a potential race condition with creating singletons 2014-02-17 08:04:28 +00:00
Antony Male 3d0597fbbc Sort out my locking - I think it's all safe now 2014-02-16 18:18:26 +00:00
Antony Male 4e7b1db5d5 Change TypeKey from a struct to a class, with significant performance gains 2014-02-16 14:09:52 +00:00
Antony Male 931950c2fb Finish off TypeKeys (at least, the unit tests pass...)
Required moving back to the old way of specifying keys, but oh well
2014-02-16 13:39:30 +00:00
Antony Male 93bb4663c2 WIP towards using TypeKeys 2014-02-15 18:28:48 +00:00
Antony Male a58b840cf7 Optimise a good deal further by reducing dictionary lookups 2014-02-15 17:41:30 +00:00
Antony Male f45fc9491d Optimise a bit 2014-02-14 17:47:28 +00:00
Antony Male 29465af37c Add locking around boundaries 2014-02-14 12:56:59 +00:00
Antony Male 44c3e0c974 Rename service -> container 2014-02-14 12:47:23 +00:00
Antony Male d001d56973 The option to associate a key with a binding is now given by Bind...To...WithKey(key) 2014-02-14 12:45:58 +00:00
Antony Male 07469bbf3a Add a ton more tests, and fix a bug or two 2014-02-13 21:55:30 +00:00
Antony Male eb163586cc Couple more ctor injection unit tests 2014-02-13 17:43:23 +00:00
Antony Male e71a1f0dc7 Fix a corner-case with unbound generic registrations 2014-02-13 13:34:26 +00:00
Antony Male 0005e2b194 More work on unit tests 2014-02-12 17:45:15 +00:00
Antony Male 460f6ae9d1 Add 'Bind(..).ToAllImplementations(...) which acceps unbound generics, normal generics, etc etc 2014-02-12 13:22:37 +00:00
Antony Male 7fc2be3ed0 Minor fix 2014-02-11 22:29:45 +00:00
Antony Male cf9f0857a9 Start writing StyletIoC unit tests in earnest 2014-02-11 21:55:11 +00:00
Antony Male 333387d68a Finish off binding of unbound generic types 2014-02-11 21:30:45 +00:00
Antony Male ea8beb1bcf WIP towards unbound generic types 2014-02-11 13:42:06 +00:00
Antony Male 37fc40f9ab Refactor so that GetAll<> doesn't need to make a generic type in the majority case, and so that Get<> can't return a getAllType 2014-02-11 12:52:44 +00:00
Antony Male 652bd6d82b Finish implementing non-generic binding methods 2014-02-11 12:34:01 +00:00
Antony Male c774f0291d WIP towards non-generic binding methods (needed for open generics) 2014-02-11 08:30:31 +00:00
Antony Male 61df17de3e Tidy/fix logic around creating 'get all' types 2014-02-10 13:38:23 +00:00
Antony Male b8961ab60e Remove duplication, although we're still creating a generic type twice 2014-02-10 09:04:33 +00:00
Antony Male 01d706925a First attempt at resolving IEnumerable<T> in ctor params 2014-02-10 08:57:19 +00:00
Antony Male 6662f52fa3 If an auto-created type doesn't compile, don't remove it from the list of types 2014-02-10 08:06:10 +00:00
Antony Male b1589a5be1 Oops, sandbox shouldn't have been added to main project 2014-02-10 08:02:34 +00:00
Antony Male d18e6bbe74 Further work 2014-02-09 21:06:43 +00:00
Antony Male 44deff3ac8 Remove restriction on calling Compile() 2014-02-09 18:19:24 +00:00
Antony Male 6592efead9 Remove Reset behaviour - it was doomed to failure concerning singletons 2014-02-08 20:14:54 +00:00
Antony Male f6de487292 Start writing proper unit tests 2014-02-08 17:27:54 +00:00
Antony Male 2a51175fa0 Allow option to recompile 2014-02-08 17:27:44 +00:00
Antony Male e1c2aa782d Finish up auto-binding 2014-02-08 16:47:11 +00:00
Antony Male 6c0c33d51d Lots of work on StyletIoC 2014-02-08 15:50:53 +00:00
Antony Male f3a5e8a584 Work implementating IoC container.
Still in the proof-of-concept stages, but working out quite well
2014-02-07 13:21:27 +00:00