Hey Unity! It's time to get Strange...
StrangeIoC is a super-lightweight and highly extensible Inversion-of-Control framework, written specifically for C# and Unity.
KEY BENEFITS
- Decoupled, modular code.
- Rapid development.
- Good for individuals, great for teams!
- Works great with Unity/MonoDevelop/Visual Studio. Also works great without them.
KEY FEATURES
- Dependency Injection
- Shared pub/sub system
- View mediation
- Battle-tested architecture
- Core binding framework
- Multiple, modular contexts
Details
Dependency Injection
Decouple all your class dependencies and write cleaner, modular code with a highly optimized Reflection/Injection system.
Two Pub/sub systems
Each context features an EventDispatcher reachable by any point in code. Additionally, a Signals-and-Slots style Signals dispatcher permits type-safe communication. Apply the method that suits you best!
View mediation
Insulate your app from the chaos often present in views. Mediation allows clean separation of Views from Controllers and Models with no loss of capability.
Battle-tested architecture
Strange's architecture is based on the popular Robotlegs micro-framework. This architecture is well founded, highly proven, and lightly urges responsible development that works great for individuals or teams.
Core binding framework
The core of Strange is a simple, highly extensible Binder class. Extend the Binder to create decoupling models that suit your situation. Every component in Strange is an extension of Binder, so there are already many examples to follow.
Multiple, modular contexts
Modular contexts allow you to spin off portions of your project to different teams, then agree on an API and plug-and-play. This simplifies development and decouples whole components of the app for later re-use.
Documentation
We've written lots of documentation to help you get started. It's all in the sidebar at the left, under 'Help'.
There's also this handy chart, which explains Strange's MVCS architecture in a single picture: