RapidIoC is a lightweight IoC (Inversion of Control)/DI (Dependency Injection) framework written in C#. Its goal is to improve code quality, simplify code maintenance, and code extendibility. Additionally, its purpose is to provide a solid foundation for architecting more complex projects. The framework is written with game developers in mind, specifically Unity3D, see RapidIoC for Unity3D (although can easily be used for other applications as well).
While developing RapidIoC, we've tried to accomplish the following:
Fast integration and development (hence name "Rapid"). Given the limited time game programmers have to refactor and clean their code and the need to prototype and iterate fast, RapidIoC provides quick and easy solutions for both prototyping, and development.
Easy to learn. If you are familiar with
StrangeIoC, then this should be a no-brainer, as it inherits core concepts from the former. However, in my opinion RapidIoC improves over StrangeIoC's steep learning curve by reducing amount of setup required, provides better starting platform (see
RapidIoC for Unity), improves on error/exception output, and removes several unnecessary/rarely used (in my personal opinion) APIs which made StrangeIoC somewhat confusing to beginners.
Lightweight. RapidIoC does not rely on any 3rd party code, it is under 600 lines of code, and it produces only 3 dlls which can be imported into your project.
Free and open-source. Code is well documented, and can be modified to your specific needs.
What is Inversion of Control and Dependency Injection, and how it can benefit you, read here.
RapidIoC is inspired by StrangeIoC (they also have good explanation of IoC concepts).
RapidIoC core git repository: here, documentation here, doxygen docs here.
RapidIoC for Unity3 here, Unity tutorial here.