One of my collegues offers quite a strange approach where VMs are used like singletons and each is attached simultaneously to several views.  

I see no pros for such weirdness besides a kind of data sharing instead of caching at data access layer.  

I've never seen this in practice but don't want to reject the ideas just because of that.  

P.S. I speak about sharing one instance, not about applying differen views to one VM.

Thanks.