En Django, la arquitectura de software sugerida es poner toda la lógica comercial y el acceso a los datos en los modelos.django models = business logic + data access? ¿O la capa de acceso a datos debe separarse del modelo django?
Pero, algunos colegas han sugerido que la capa de acceso a los datos debe estar separada de la lógica de negocios (capa de servicio de negocios). Su justificación es que la capa de acceso a datos puede aislar los cambios si se usa una fuente de datos diferente. También dicen que hay una lógica de negocios que puede estar en más de un modelo.
Pero cuando comienzo a codificar utilizando las capas de acceso a datos y lógica de negocios, la capa de acceso a datos es simple (básicamente el código del modelo que define el esquema db) y no parece agregar mucho valor.
¿Realmente tiene sentido separar el acceso a los datos de los modelos django o django ya proporciona una capa de acceso a datos suficiente con su ORM?
Estoy buscando desarrolladores que hayan implementado un buen número de aplicaciones django y descubran cuál es su opinión. Esto es para una aplicación web de tamaño pequeño a mediano.
La capa de acceso a datos es el ORM. ** Está ** separado del modelo. No vas a cambiar los de ORM. Usted ** va a cambiar los motores de la base de datos; y eso ya está hecho trivial por la capa ORM. No está claro lo que sus colegas quieren decir con "capa de acceso a datos". ¿Puedes proporcionar más información? –
posible duplicado de [Separación de lógica de negocios y acceso a datos en django] (http://stackoverflow.com/questions/12578908/separation-of-business-logic-and-data-access-in-django) –
@the_drow: OT: ¿puedes dejar de revisar robo y prestar atención a las ediciones? [Esta edición sugerida] (http://stackoverflow.com/review/suggested-edits/3992632) fue un comentario obvio, no una edición sugerida que debería haber sido aceptada. –