2012-04-30 8 views
5

buscando en la pila del servidor nodejs con nodejs/expresar y mangostamangosta mejores prácticas con capa de datos en la solicitud de nodo

¿Qué se considera una solución mejor práctica?
(1) La creación de un módulo de modelo de datos mangosta luego trabajar con el modelo de objetos
(2) Creación de un módulo envoltorio capa de datos que va a utilizar internamente el modelo de mangosta

Pros para (1)
me gusta mucho el Las clases de estilo OOP mongoose me dan, agrego mis propios métodos, mis propios setters y getters, puedo agregar validation y event-handlers, y usar el DataModel sin redefinirlo en otro módulo.

Pros para (2)
yo debería ser capaz de maqueta de la capa de datos con la aplicación más simple (pruebas, etc ..) o cambiar una base de datos si es necesario.

¿Qué opinas?

+1

Gracias por esta pregunta, siento que hay mucho debate sobre cómo usar Mongoose fuera de una demostración de juguete. – Paul

Respuesta

3

Por lo general, comienzo con la opción más fácil y menos compleja para comenzar y solo paso a una más compleja cuando realmente se necesita. Entonces, en este caso, siempre empiezo con la Opción 1 y todavía tengo que encontrar una instancia en la que desearía haber comenzado con la Opción 2. Si realmente necesito cambiar las bases de datos, haré el trabajo entonces en lugar de hacer más trabajo por adelantado para algo Puede que nunca necesite.

Tenga en cuenta que esto depende de qué tan grande es un proyecto y cuántas personas están trabajando en él. Si se trata de un equipo pequeño (o solo tú), generalmente no se necesitan capas adicionales de abstracción. Si se trata de un proyecto grande con un equipo grande, me tomaría un poco más de tiempo encontrar la mejor arquitectura para la mantenibilidad a largo plazo.