5

Voglio avviare una nuova applicazione su ASP.NET MVC4 utilizzando diversi approcci diversi come sviluppo guidato dal dominio, schemi di progettazione, iniezione di dipendenza, Entity Framework come ORM ecc.Come utilizzare efficacemente lo sviluppo basato su domini in asp.net mvc4?

Hai bisogno di qualche consiglio su quale dovrebbe essere il punto di partenza dello sviluppo ? Dovrei iniziare con i primi rapporti di classe o iniziare con un approccio tradizionale? ad esempio ci sono tre moduli.

  1. Gestione utenti.
  2. Registrazione.
  3. Registrazione errori.

Devo prima completare con la gestione utenti come le classi di dominio quindi i suoi servizi e quindi le sue operazioni CRUD nell'applicazione web effettiva? e dopo ... inizierà con il logging (stesso processo che menziona nella gestione degli utenti). e poi anche nella registrazione degli errori.

Quindi quali sono le migliori pratiche per iniziare lo sviluppo con quel tipo di concetto o strumenti?

risposta

10

ASP.NET MVC4 è solo una parte di presentazione della soluzione. Con l'approccio basato sul dominio si inizia con il dominio (in genere progetto di libreria separato) e quindi si aggiungono la presentazione (sito Web, applicazione desktop ecc.) E la persistenza (implementazione del repository e delle interfacce uof dichiarate nel dominio).

Quindi, si inizia con la creazione di modello di dominio (non tutta, ma una parte di quello). Quindi in qualsiasi ordine crei un'interfaccia utente che utilizza il tuo modello di dominio e l'implementazione di repository per mantenere il tuo modello di dominio tramite Entity Framework. Bene, in realtà le viste dovrebbero usare ViewModels (altrimenti gli oggetti del dominio POCO saranno inquinati con gli attributi di Annotazioni dei dati e altre cose). È una parte del controller in cui verrà utilizzato il modello di dominio. Inoltre inietterai le implementazioni del repository ai controllori tramite l'iniezione delle dipendenze.

+0

Quindi si sta cercando di dire che prima dovremmo creare modello di dominio per tutti i moduli e quindi utilizzare quei modelli di dominio in parte presentazione ? –

+2

@DharmikBhandari non necessario per tutti i moduli (solo se si sta eseguendo DDD a cascata). Crea la tua applicazione in modo iterativo. Per esempio. crea qualche radice aggregata. Quindi creare un repository per quell'aggregato. Quindi aggiungi l'interfaccia utente per le operazioni CRUD su quella radice. Dopo questa iterazione avrai una fetta di applicazione funzionante. Quindi estendi il dominio con nuovi oggetti e servizi e crea persistenza e UI per loro. –

+1

@lazyberezosky: questa deve essere un'ottima risposta. Mi aiuta molto. grazie mille –

5

Vorrei iniziare a guardare i requisiti di funzionalità di business del sistema e di concentrarsi sui requisiti di valore più alti prima. Implementa quelli, riempiendo il tuo dominio aziendale come necessario, in base alla consegna dei requisiti. Se si segue un processo in stile BDD, è possibile utilizzare i test unitari per eliminare le funzionalità aziendali e il dominio si evolverà man mano che i requisiti aziendali si evolveranno. Ogni requisito aziendale dovrebbe avere una interfaccia utente e un componente di accesso ai dati in modo da poter completare il livello di presentazione e il livello di accesso ai dati con Entity Framework man mano che il dominio si evolve. Ecco un paio di post utili su BDD:

Problemi correlati