Generalmente, sì, MVVM porta a un bind di 1: 1 tra Views e ViewModels. Non è un requisito, ma sembra essere un effetto collaterale di come molte persone scrivono applicazioni strutturate MVVM.
È possibile avere una o più viste che puntano allo stesso ViewModel. La VM deve semplicemente fornire le proprietà che la specifica Vista richiede per la VM essere utile.
Vorrei evitare un pattern hub-spoke usando una VM "principale" che fornisce l'accesso alle altre VM. Sembra più sovraccarico del necessario senza aggiungere molti vantaggi.
C'è un modello alternativo chiamato MVPVM che è una lettura piuttosto utile anche se stai andando attenersi al modello MVVM. MVPVM separa la logica di business dalla VM e la colloca all'interno di Presenter.
Ciò che mi è piaciuto di questo articolo è la progressione di MVC - > MVP nei giorni smalltalk, quindi spiega come MVP è rimasto rilevante per molte UI di oggi e la naturale evoluzione in MVVM di MVP. L'autore fornisce un avvertimento sul non discutere di applicazioni web, solo applicazioni desktop, ma ritengo che l'articolo sia abbastanza ampio da poter raccogliere i dettagli rilevanti indipendentemente dall'applicazione di destinazione.