2009-01-23 13 views
7

He creado un .NET winforms MVC. El controlador y la vista están en el mismo EXE. El modelo se encuentra en un conjunto de archivos DLL que varios grupos utilizan. El MVC es muy explícito. El modelo no sabe nada de Controller y Controller no sabe nada de View. Estoy pensando en poner el controlador en su propia DLL para que pueda ser probado en una unidad. Muy diferente a alguien reutilizará el controlador. La prueba unitaria es la única razón Tengo para pasar a una DLL.¿Debería el controlador MVC estar en una DLL separada?

Conceptualmente, ¿debería el controlador estar siempre en el mismo conjunto que la Vista? ¿Cuáles son las razones para/en contra de mantenerlos juntos?

Respuesta

5

La separación de controladores y vistas es un concepto abstracto. No existe una regla estricta que indique que debe mantenerlos físicamente separados (al igual que los niveles en una aplicación de tres niveles). Sin embargo, puede haber algunas ventajas en cualquier enfoque.

asambleas de Separación tiene los siguientes beneficios:

  • reduce la posibilidad de accidentalmente par de puntos de vista a los controladores y romper la separación.
  • Facilita la edición de vistas sin volver a compilar controladores (lo cual es excelente desde una perspectiva de implementación).
  • Las vistas y los controladores del edificio se separan, por lo que puede probar uno de ellos incluso si el otro no se construye en absoluto.

Sin embargo, puede ser inviable para proyectos pequeños. Para proyectos muy pequeños, puede enviar un solo ejecutable y nada más. Además, es posible que no desee crear 3 proyectos separados.

Oye, puede que no quieras probarlo en una unidad;) Ouch, me duele la cabeza, ¿de dónde vino este gran ladrillo? :))

Cuestiones relacionadas