MVVM

January 11, 2021

MVVM, first introduced in a blog post which described a better way for a complex UI application to handle events and send updates to the UI.

I like MVVM, but as I’m reading Refactoring, by Martin Flower I notice a section in the book talking about naming. When you expand MVVM it is Model-View-ViewModel…what I don’t really get is, what is a viewmodel.

How does that word help me understand what MVVM is? MVVM is all about data binding, notifing and observing. I think you can get a lot out of MVC and MVP (as far as the names are concerneed), but MVVM just seems redundant. So what would be a better name?

Thats a tough one! Maybe MVO (Model-View-Observer)? I Model-View-Connector but then thats just MVC! The ViewModel does deal with Actions…so MVA, but A needs to be a noun…how about Actioner? Didn’t think that was an actual word. Maybe Actionable is better.

Anyways, just a thought. I think I’ll give my vote to Connector, but then we just can’t have the abbreviation.