Incomprensione delle relazioni viewmodels sul lato client e server

3

Ho un viewmodel di base sul lato server, lascia che sia in C # e ASP.NET Core lato server, ad esempio:

public class BookViewModel
{
     public string Id { get; set; }

     public string Name { get; set; }

     //other properties removed for brevity
}

Quindi, lo mando alla pagina del cliente.

Sul lato client, ho un'interfaccia utente ricca con alcuni framework MVVM Javascript.

Questi framework manipolano i viewmodels come capisco. Quindi, il problema è che non capisco cosa dobbiamo fare veramente con i visualmodels sul lato client?

Voglio dire, se voglio inviare il mio viewmodel dal client al server tramite Ajax, ho bisogno di definire esplicitamente tutte le proprietà di quel viewmodel. Quindi, ho bisogno di definire esplicitamente tutti i miei viewmodels lato server, come oggetti Javascript in file speciali, qualunque sia. Come posso evitare un simile lavoro di routine?

    
posta Yurii N. 30.09.2016 - 18:11
fonte

1 risposta

4
  1. Utilizzo degli strumenti. La maggior parte dei framework maturi ha meccanismi per produrre codice client da un modello server / wsdl / schema ecc. Talvolta questi sono noti come generatori di codice. In genere qualcosa viene ispezionato sul lato server e quindi produce codice nativo per il framework utilizzato sul client.

Tieni presente che il codice generato automaticamente a volte può essere inferiore all'ottimale, ma può essere ottimizzato in base alle esigenze.

Ecco un esempio:

C # a Knockout View Model

  1. Il modello client è talvolta diverso dal modello del server, quindi a volte esiste un livello di traduzione tra il modello del server e il client. Gli elementi che escono dal server non vengono utilizzati direttamente, ma tradotti dal messaggio nel modello del cliente.

  2. Codificalo manualmente. Sì, questo è laborioso / noioso.

risposta data 30.09.2016 - 19:30
fonte

Leggi altre domande sui tag