2010-07-28 12 views
11

Bueno, he estado siguiendo el tutorial de NerdDinner en línea y lo he completado en una T.¿Cómo puedo evitar tener que escribir el código repetitivo?

Ahora he implementado un proyecto propio utilizando prácticamente la misma arquitectura.

noto que mi proceso es:

  1. Crear base de datos.
  2. Crear DBML.
  3. Crear | TableName | Clase Repository.cs con métodos de acceso a datos.
  4. Crear partial | TableName | clase para manejar la validación
  5. Enjuague y repita para todas las tablas.

En el momento en que he terminado estoy agotado y realmente no he hecho nada excepto arrastrar y copiar el código de la pasta y cambiar los nombres de las variables.

¿Qué me falta aquí? ¿Dónde puedo mejorar esta neblina repetitiva en la que estoy?

Editar: Sin crear mi propia plantilla T4, ¿hay alguna herramienta que me ayude?

+0

He estado trabajando durante mucho tiempo en MVC y todavía lo hago de esta manera – Nealv

+0

En serio, ¿esta es la mejor y más aceptada forma? Considerando que el 90% del proceso es mecánico, ¿no hay una herramienta para hacer esto por usted? –

+0

No es que haya visto todavía, tal vez alguien más lo hizo, espero que lo publiquen aquí, entonces :) – Nealv

Respuesta

4

Ver Visual Studio Templates.

No los he usado, pero supongo que si se toma el tiempo para personalizarlos, podrá hacer que Visual Studio genere mucho de lo que ya hace de forma instantánea utilizando específicamente el lenguaje de la plantilla T4/intérprete. incrustado en Visual Studio.

1

Eche un vistazo a esto para obtener ideas. Utiliza un repositorio genérico y el patrón de la unidad de trabajo.

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

También aquí.

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

he implementado algo basado en estas ideas. También es posible que desee considerar el uso de una capa de servicio con más interfaces, etc. de lo que muestra el ejemplo de la cena nerd.

Tan bueno como el tutorial es, no es IMO realmente adecuado para su uso en una aplicación empresarial, ya que todavía está bastante acoplado.

Espero que esto ayude.

0

Si bien no está directamente centrado en MVC, he disfrutado usando NetTiers http://nettiers.com para este tipo de base. Comenzamos con las tablas Db y la indexación y luego generamos los procedimientos almacenados y sus datos relacionados y el código de capa de servicio. Después de eso, agregamos nuestros propios procedimientos almacenados personalizados, creando una base rica (y fácil de entender). Los cambios futuros se acomodan fácilmente a través de este mecanismo.

También incorporamos la generación de código en nuestros procedimientos de compilación de Nant, proporcionando una manera muy rápida de actualizar todo el código de "fontanería" mundano, lo que nos permite concentrarnos en las cosas interesantes.

Acabamos de empezar a trabajar con MVC y hemos descubierto que la capa de servicio netTiers funciona muy bien con ella: el tiempo dirá a medida que nuestra experiencia MVC crezca. ¡Espero que eso ayude!

2

No lo he usado demasiado, pero tal vez podría crear una plantilla de codesmith para manejar esto. http://www.codesmithtools.com/

Lo he visto muy bien con Nettiers y en algunos otros escenarios.

-2

¡Cree un marco!

+0

Ya hay un marco. Mucho del trabajo que se hace se trata de hacer las cosas a la manera del framework, pero crear uno completamente diferente es un proyecto bastante grande para alguien que solo quiere obtener material. – cHao

Cuestiones relacionadas