Let patterns emerge
Without entering in the dicussion about MVVM I just wanted to quote here an interesting paragraph of the linked post. It's mainly for my own memories, as it's something related to a topic that I've had in my mind for a while and I want to have this words saved somewhere that I can refer back when I'm lost in the forest of Patterns.
Donāt guess The right Patterns to extract will reveal themselves as the code evolves. Donāt force them. The biggest mistakes Iāve made when designing software have been to enforce my preconceived notions of good design on a problem I didnāt understand yet. The catch is, until youāre deep in the weeds with actual user and business problems, you donāt understand the problems youāre facing. You canāt predict what users will do with your app. How can you predict what the right design to solve their problems is? Attempting to apply your pet software design before the code has emerged is the cause of many headaches. Sometimes a ViewModel (assuming we can define what exactly a ViewModel is) is the right fit for a particular ViewController. But let that decision be driven by the needs at hand, not a preconceived notion of what the design should be.
If you liked this article please consider supporting me