Dov'è meglio implementare Copy / Cut / Paste in MVVM?

4

Sto lavorando su un progetto usando C#/WPF e seguendo MVVM pattern. Questo progetto è progettato per schermi tattili.

Gli oggetti principali del programma sono i seguenti:

Abbiamo Programs che contengono Channels che contengono Functions . Tutti questi dovrebbero essere in grado di essere copiati / tagliati / incollati.

Devo implementare una funzionalità copia / taglia / incolla e mi chiedo dove è meglio.

La mia idea era di implementarli nel ViewModel perché mi sembra strano avere tali funzionalità nei Modelli.

Tuttavia, poiché i modelli dovrebbero contenere la logica di business completa, sarebbe logico implementarli qui, ma ho un dubbio.

Qual è la migliore pratica per tale implementazione? Grazie in anticipo.

    
posta Maël Pedretti 10.10.2018 - 16:00
fonte

1 risposta

4

Vorrei aggiungere un servizio di appunti

IClipboard
{
    void AddProgram(Program p);
    Program GetProgram(string id);
    ..... etc
}

e inseriscilo nel ViewModel, che avrebbe i comandi copia incolla legati alle tue battute di copia / incolla o qualsiasi altra cosa

ViewModel
{
    void OnCopy() {
        if(mouseIsOverAProgram) { this.clip.AddProgram(getProgramUnderMouse())
    }
}

I tuoi modelli sono programmi, canali, funzioni ecc. e non dovrebbero conoscere questo tipo di logica.

    
risposta data 12.10.2018 - 10:47
fonte

Leggi altre domande sui tag