Let's have a look to what is dependency injection and what we need to do to ensure our code is ready for injection before using frameworks like Swinject.
I see many developers adding too many code inside their ViewModel ending with a Massive ViewModel 🦛 while one of the first reason to use it was to actually avoid... Massive ViewController 🤷. Why is it happening? I think it is coming from one simple reason: they forget to think about Separation of Concern.
Models are the core of our applications and need to be defined with care. Yet they very often transform themselves into big monolithics becoming more and more complex while being less and less easy to use over time. But why is that?