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

Angel Java Lopez ajlopez2000 en gmail.com
Mar Jul 29 12:28:22 ART 2014


Hola gente!

Interesante discusion.

Yo comentaria que Selesan, esta como preguntando dos cosas, y yo quisiera
tratar primero una. El escribe

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.

No se habitua en Python/Django tener un DataMapper? Como en:
http://www.martinfowler.com/eaaCatalog/dataMapper.html

en vez de lo que describe Selesan, que me parece es un
http://www.martinfowler.com/eaaCatalog/activeRecord.html (tambien me lo
encuentro asi en Ruby on Rails approach default parece)

Primero queria sacarme esa duda, antes de pasar al tema de "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."

Nos leemos!

Angel "Java" Lopez
@ajlopez



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/20140729/3e2cb145/attachment.html>


More information about the pyar mailing list