The truth behind Inversion of Control – Part IV – Dependency Inversion Principle

The Dependency Inversion Principle is part of the SOLID principles. If you want a formal definition of DIP, please read the articles written by Martin[1] and Schuchert[2]. We explained that, in order to invert the control of the flow, our specialized code must never call directly methods of more abstracted classes. The methods of the classes of […]

The truth behind Inversion of Control – Part III – Entity Component System Design

In the previous article I explained what the Inversion of Control principle is, then I introduced the concept of Inversion of Flow control. In this article I will illustrate how to apply it properly, even without using an IoC container. In order to do so, I will talk about Entity Component System design. While apparently it has nothing to […]

The truth behind Inversion of Control – Part II – Inversion of Control

Note: this article assumes you already read my previous articles on IoC containers and the Part I Inversion of Control is another concept that turns out to be very simple once it has been fully processed or rather saying “absorbed”. Absorbed as going over being understood and becoming part of one’s own forma mentis. However, make no […]

The truth behind Inversion of Control – Part I – Dependency Injection

Note: this article series assumes you already read my previous articles on IoC containers. There is an evil truth behind the concept of Inversion of Control container. An unspoken code tragedy taking place everyday while passing unnoticed. Firm in my intentions to stop this shame, I decided to stand up and start writing this series of articles that […]

Svelto Inversion of Control Container

It’s finally time to share publicly the latest version of my Inversion of Control container, which I will keep updated from now on. This new version is the current IoC container that Freejam is using for the Unity3D game Robocraft ( After all this time, I had the occasion to analyse in depth the benefits […]

IoC Container for Unity3D – part 2

In my previous article, I briefly introduced the problems related to injecting dependencies using Unity 3D Framework. I did not give an in depth explanation because only those who understood the problem by themselves, can really understand why a solution is needed. Before to discuss the example I built on purpose to show the features of the […]

IoC Container for Unity3D – part 1

Note: I published the new Svelto.IoC container Unity is quite a good game development tool, but, although I like most of its features, the code framework is awkward to use on big projects where code maintainability is of fundamental importance. The considerations in this article do not really apply to simple projects or projects developed by one or […]