Guida alle applicazioni composite (PRISM) e modelli
Domanda
Dove nella soluzione / progetti, dovrei mettere i modelli per il livello di accesso ai dati. Ad esempio, se ho un modulo di accesso che deve utilizzare una tabella Users in un database e ho un modello User.cs. Dove andrebbe quel file. Se altri moduli devono essere in grado di accedere a questo User.cs per informazioni, non posso inserirlo nel modulo. Ma poi non riesco a vedere come questo possa rimanere liberamente accoppiato.
Soluzione
Per l'accoppiamento libero, in genere memorizza un'interfaccia per questi oggetti in un assieme separato a cui fare riferimento tutti gli altri progetti. Nella mia azienda lo chiamiamo "Contratti". assembly e generalmente contiene solo interfacce o tipi semplici .
Per quanto riguarda where il modello dovrebbe andare, se mantieni le tue interfacce in una DLL separata che tutti possano usare, puoi metti il ??tuo modello dove vuoi . Generalmente considero i miei contratti WCF o i miei tipi di ORM (come Linq2Sql, ecc.) Come il mio modello e li conservo ovunque di solito immagazzino quel tipo di cose. Il "modello" Considero un po 'più fluido ... ovunque si senta bene.
Sono più rigido sul fatto che Views e ViewModels siano negli spazi dei nomi che finiscono con " Views " e " ViewModels "
Spero che questo aiuti.