[pyar] [Discusión] Django y Single Responsability Pattern

Daniel Moisset dmoisset en machinalis.com
Jue Jul 31 11:05:16 ART 2014


Te dieron muchas respuestas, en general buenas, de distintas formas de
hacerlo. Te agrego una respuesta de una forma de NO hacerlo: no pongas ese
tipo de cosas en la view function. Hace que entender y testear ese codigo
sea un problema; el concern de la vista nomas debería ser entender el HTTP
request y generar un HTTP response. Todo lo que no es HTTP (o plantillas,
para generar HTML) va en otro lado (te tiraron varias opciones buenas).

Fijate que en django hay algo que se llama model validation, que, depende
como sea tu logica, te puede servir para aplicar directamente




2014-07-28 16:52 GMT-03:00 Jose Selesan <jselesan en gmail.com>:

> Buenas gente!. Estoy leyendo sobre Django (empecé por Django, si no me
> gusta veré Flask o algún otro web framework) y una de las primeras cosas
> que me llamó la atención es que los modelos son más bien modelos de datos,
> ya que especifican los campos y heredan el comportamiento para almacenar en
> la base de datos.
>
> Ahora bien, en los ejemplos que vi, desde la vista misma (ya sea una Class
> View o una función) se persisten las entidades. Esto está bien en ejemplos
> sencillos, pero en casos más complejos, ¿no viola el principio de
> responsabilidad única? Por ejemplo cuando creo una factura, debo hacer las
> validaciones de negocios (que el cliente tenga saldo, que haya stock
> suficiente, etc), actualizar el stock de los productos, actualizar el saldo
> del cliente y persistir la factura con sus items. ¿Donde ponen ese código?
> ¿En la vista? ¿O se crea una clase de de servicio como suele usarse en Java
> o .Net?
>
> José
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20140731/7c9db813/attachment.html>


More information about the pyar mailing list