Architecture Homicide: Red Alert
2 min read
I’d spend a couple of hours studying, planning, and understanding a problem, just to solve it in minutes.
Why asking for people that know MVVM is a red flag in job posts and what should be written instead from my humble POV?
Sure in a team of people who work with a specific stack is logical to invite people who are good at it, but MVVM shouldn’t be your main concern, you want to invite people who are dependable in that stack or any other, so where the red flag might be u say?
It’s in how revered MVVM is around the whole project if the project is big and may contain different combined features like Social media and e-commerce (This is famous btw since u want to build a community around what u r selling)
Using MVVM with a reactive paradigm would be very great in Social media since you’ll need streams and real-time logic in place
However, the same might not be the case with e-commerce unless u r doing Auctions that includes real-time changes for example
But if u notice, we haven’t really talked about anything but presentation up till now, which is…. A design pattern to solve an issue ;)
So what issues do MVC, MVP, MVVM, or whatever u may find suitable?
Start with the class diagrams
Understand the flow
Understand the communication
Learn the slightest details and understand why we do this, that way
Why for instance, must not, under any circumstances, a ViewModel be directly linked with the previous layer? (May it the view, or an intermediary layer between them)
Why do we have dotted lines that represent a weak or an indirect reference to the previous layer?
Why the flow must be unidirectional?
Why implementing an offline-first is tricky and how your design might foresee future issues?
In the next section, we will learn those