Domanda

Si supponga di avere tre livelli (gli spazi dei nomi):

  • Interfaccia utente (App.UI) - chiama processi livello di business e comunica con gli oggetti
  • strato di business (App.Core) - orchestra i processi e usa strato DAL utilizzando oggetti
  • DAL (App.Data) - manipola direttamente negozio e persiste oggetti

Diciamo che si dispone di tavolo per l'utente, e quindi riflette nel vostro livello DAL in App.Data.User e probabilmente anche App.Data.Users.

C'è una vista nella vostra interfaccia utente che consente di visualizzare gli utenti delle applicazioni.

Per avere davvero una separata applicazione (a strati), si dovrebbe anche avere App.Core.User e App.Core.Users che probabilmente dovrete creare manualmente.

migliore soluzione (per me) sarebbe ovviamente : Ci dovrebbe essere un quarto strato Business Objects (App.Objects) con le classi App.Objects.User e App.Objects.Users. Questi pocos sarebbero condivisi tra tutti gli strati. strato di affari sarebbe stato autorizzato ad utilizzare unicamente DAL, interfaccia utente sarà consentito solo da usare BL, ma tutti loro userebbe App.Objects per il modello oggetto comune.

modelli Asp.net MVC implicano sull'uso DAL oggetti direttamente sulla Visualizzazioni, LINQ 2 entités anche non creano alcun pocos per sé ...

Quindi, quando si utilizza qualsiasi automatizzato di generazione di codice dovremmo utilizzare oggetti DAL o codificare manualmente il nostro condiviso pocos? prima parte sembra come facile via d'uscita , ma non separa dAL dall'interfaccia utente (e può avere sicurezza e scalabilità preoccupazioni successivi), il secondo è soggetto a errori e molto noioso con il database di medie dimensioni.

Che cosa suggerisce?

È stato utile?

Soluzione

Quello che tu chiami un App.Objects è fondamentalmente il vostro modello di dominio ed è logico deve essere condivisa tra tutti i livelli per passare i dati in giro, ma è necessario decidere se questo modello sarà anemica o attivo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top