Learning Svelto.ECS by Example: The Unity Survival Example

note: while most of the reasonings are still valid, the code listed in this article is obsolete and the example has now radically different code. Introduction Lately I have been discussing Svelto.ECS extensively with several, more or less experienced, programmers. I gathered a lot of feedback and took a lot of notes that I will […]

The truth behind Inversion of Control – Part V – Entity Component System design to achieve true Inversion of Flow Control

note: Svelto.ECS is now production ready, so you can start to use it after finishing reading the articles. At this point, I can imagine someone wondering if I still recommend to use an IoC container. IoC containers are handy and are quite powerful with Unity Engine, but they are dangerous. If used without Inversion of […]

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 […]

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 […]

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, […]