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.