Project / DLL separazione delle preoccupazioni in ASP.NET MVC

6

Vengo da uno sfondo web di livello n-tier nei progetti ASP.NET MVC e mi chiedo quali sono le migliori pratiche per la separazione dei componenti di MVC in librerie diverse (o meno) nel modo in cui uno potrebbe con un modello di livello n. La maggior parte delle app di esempio che ho visto avevano solo un file di progetto e gli oggetti erano separati solo dalla cartella.

Grazie

    
posta lorddev 08.11.2012 - 03:11
fonte

1 risposta

9

Una tipica applicazione multilivello ha questo aspetto:

Inun'applicazioneMVC,livellodatielivellologicorisiedononelModello,mentreillivellodipresentazionerisiedeinVisualizza.Trailmodelloelavista,ilcontrollorefornisceunpiazzaledicommutazione,ilroutingdirichiesteerispostewebaimetodi,allevisteeallalogicadelmodelloappropriati.

All'internodelmodello,puoiaveretuttelelibreriechedesideri.Perlavistaeicontroller,direicheunabuonaregolageneraleèunaDLLperapplicazioneoservizioweb.Iservizipotrebberoincludereun'APIWebRESTperapplicazioniesterne.

Ilmodelloingenerecontienealmenotreelementi:ildatabase,lalogicaaziendaleeunlivellodiservizio.IlServiceLayerèimplementatocomeunaseriediclassiemetodicherappresentanoglioggettideldominiodenominatiRepository.All'internodiquestiarchivi,nonèraroutilizzareun ORM per fornire un'astrazione a livello di oggetto per il database.

Regole generali: modello grasso, controller sottili. La View ha storicamente la minore logica di dominio possibile, sebbene oggigiorno le interfacce web diventino più intelligenti dal punto di vista del client, con jQuery, HTML5 e sofisticati framework client-side come Kendo.

    
risposta data 08.11.2012 - 05:22
fonte

Leggi altre domande sui tag