2010-07-28 9 views
11

Bene, ho seguito il tutorial di NerdDinner online e l'ho completato a T.Come posso evitare di dover scrivere il codice boilerplate?

Ora ho implementato un mio progetto utilizzando praticamente la stessa architettura.

ho notato il mio processo è:

  1. CREATE DATABASE.
  2. Creare DBML.
  3. Crea | Classe TableName | Repository.cs con metodi di accesso ai dati.
  4. Crea partial | TableName | classe per gestire la convalida.
  5. Risciacquare e ripetere per tutti i tavoli.

Quando ho finito sono esausto e non ho fatto nulla, eccetto il codice drag and copypaste e il cambio dei nomi delle variabili.

Cosa mi manca qui. Dove posso migliorare questa foschia della caldaia in cui mi trovo?

Modifica: senza creare il mio modello T4, c'è uno strumento che mi aiuterà?

+0

Ho lavorato per un lungo periodo in MVC e lo faccio ancora in questo modo – Nealv

+0

Seriamente, questo è il modo migliore e più accettato? Visto che il 90% del processo è meccanico, non c'è uno strumento per farlo? –

+0

Non che io abbia ancora visto, forse qualcun altro l'ha fatto, spero che pubblichino qui poi :) – Nealv

risposta

4

Vedere Visual Studio Templates.

Non li ho usati, ma presumo che se si impiegano del tempo per personalizzarli, sarete in grado di fare in modo che Visual Studio generi molto di ciò che già fate in modo specifico usando il linguaggio/interprete del modello T4 incorporato in Visual Studio.

1

Dai un'occhiata a questo per le idee. Utilizza un repository generico e l'unità di modello di lavoro.

http://elegantcode.com/2009/12/15/entity-framework-ef4-generic-repository-and-unit-of-work-prototype/

anche qui.

Advantage of creating a generic repository vs. specific repository for each object?

Ho implementato qualcosa sulla base di queste idee. Potresti anche voler utilizzare un livello di servizio con più interfacce, ecc. Rispetto agli esempi di esempi di cena nerd.

Per quanto il tutorial sia, non è IMO realmente adatto per l'uso in un'applicazione enterprise in quanto è ancora abbastanza strettamente accoppiato.

Spero che questo aiuti.

0

Anche se non è direttamente focalizzato su MVC, mi sono divertito a utilizzare NetTiers http://nettiers.com per questo tipo di fondazione. Iniziamo con le tabelle Db e l'indicizzazione, quindi generiamo le stored procedure, i relativi dati e il codice del livello di servizio. Successivamente, aggiungiamo le nostre stored procedure personalizzate, creando una base ricca (e facilmente comprensibile). I futuri cambiamenti possono essere facilmente soddisfatti attraverso questo meccanismo.

Abbiamo anche bloccato la generazione del codice nelle nostre procedure di compilazione Nant, fornendo un modo molto rapido per aggiornare tutto il banale codice "idraulico", permettendoci di concentrarci sulle cose interessanti.

Abbiamo appena iniziato a lavorare con MVC e abbiamo trovato che il livello di servizio netTiers funziona bene con esso - il tempo dirà come la nostra esperienza MVC cresce. Spero che aiuti!

2

Non l'ho usato molto ma forse potresti creare un modello codemith per gestirlo. http://www.codesmithtools.com/

L'ho visto utilizzato con buoni risultati con Nettiers e in alcuni altri scenari.

-2

Creare un quadro!

+0

Esiste già un framework. Gran parte del lavoro svolto consiste nel fare le cose a modo di framework, ma la creazione di un altro intero è un progetto piuttosto grande per qualcuno che vuole solo fare Stuff. – cHao

Problemi correlati