Quale schema di progettazione viene in genere utilizzato durante la progettazione di un'applicazione Winforms basata sui servizi dati WCF?

1

Per favore, mi scusi perché sono un po 'nuovo per le seguenti tecnologie e pratiche. Mi è stato assegnato il compito di creare una suite di gestione che utilizza una GUI MDI. Questa suite sarà il front end di un servizio dati WCF. La mia domanda è, quale modello di progettazione viene in genere utilizzato dalla maggior parte dei professionisti quando si progetta un'applicazione di questo tipo. Al momento, ho esaminato entrambi i modelli di progettazione MVC e 3 livelli.

Se la route MVC tende a essere presa, suppongo che poiché il servizio WCF sia aggiunto come riferimento di servizio che fornisce visibilità a tutte le sue classi, la parte del modello di MVC è praticamente coperta? Avrebbe senso generare un'interfaccia dalla classe WCF?

Se si utilizza il modello a 3 livelli, avrebbe senso creare oggetti datalayer per ogni classe WCF visibile (ad esempio PropertyDAL) e, in aggiunta, oggetti del livello aziendale per ogni oggetto datalayer? Se questo è il caso, con oltre 114 classi che sarebbero rese visibili, ciò significherebbe 228 classi aggiuntive che mi sembrano un po 'gonfie e non necessarie.

Ecco il link all'uso del modello di progettazione MVC che mi ha portato alla mia domanda.

    
posta James Shaw 03.05.2013 - 04:57
fonte

1 risposta

2

Questa è una domanda enorme, le persone hanno scritto interi libri su questo. Cercherò quindi di mantenere la risposta breve.

Il confronto tra MVC e tre livelli è come paragonare le mele alle arance. Molto semplicemente hanno usi totalmente diversi.

MVC è un modello di presentazione. Ti aiuterà a progettare la tua interfaccia utente, ma non più oltre. Ha il concetto di un "modello" che astrae piacevolmente cose come letture di dati fisici, scritture di dati fisici, regole di business e tutte le barre della più semplice convalida.

Un approccio a tre livelli è tuttavia uno schema di livello superiore che copre l'intero sistema. Hai il concetto di presentazione, business e servizi dati. Quindi devi pensare a come costruisci questi tre servizi e inoltre come si parlano tra loro.

È interessante notare che MVC e Three Tier possono facilmente coesistere. Se immagini un sistema a tre livelli, non c'è assolutamente nulla che ti impedisca di scrivere i tuoi servizi di presentazione usando MVC.

    
risposta data 03.05.2013 - 10:28
fonte

Leggi altre domande sui tag