Re: Consultas Web2py - Buenas practicas - Funciones Python - Paradigma MVC en Web2py

324 views
Skip to first unread message

Mariano Reingart

unread,
Dec 18, 2012, 1:37:40 PM12/18/12
to web2py-...@googlegroups.com
Hola Max, te contesto entre lineas:

2012/12/17 Max Ponce <maxpon...@gmail.com>:
> Hola, soy nuevo con web2py, tengo algunas dudas que seria de gran valor el
> que alguien pudiera contestarmelas, desde ya gracias...
>
>
> Hay algun sitio o documento que sirva como manual de buenas practicas para
> el desarrollo con web2py?

Quizás el libro.

> Si se requieren funciones complementarias para utilizar en los
> controladores, estas donde es mejor codificarlas? en los mismos archivos de
> cada controlador? en algun archivo ubicado en model?

Llas funciones es mejor ubicarlas en un módulo (sobre todo si son
genéricas y no usan la sesión o db).

> Las declaraciones que estan en Model veo que pueden ser accedidas en
> cualquier parte del entorno de ejecucion, esto significa que si creo
> funciones y variables, estas ocupan memoria en el server
> en cambio si se codifican en los controladores, solo existen cuando la
> funcion controlador es llamada, es asi con web2py o estoy entendiendo mal?

Estás entendiendo bien, igualmente el tiempo de vida es lo que dura el
request (a diferencia de otros frameworks que en general persisten los
objetos instanciados en el modelo porque los módulos quedan
importados).
Por este tema, en general el uso de la memoria no es un tema
importante (por supuesto, depende del caso).

> Segun mi experiencia en frameworks en java, soliamos usar MVC y codificar
> todas las funciones que tenian que ver con los datos, ya sea para busquedas,
> consultas, reportes en la capa de modelo y usar los controladores solo para
> llamar estas funciones y poner los resultados a disposicion de los archivos
> de vista (html)

Puedes hacer lo mismo en web2py, pero como te decía, las funciones en
general es mejor que esten en los módulos.

> me queda la duda de como funciona web2py al respecto, ya que segun el book,
> es un framework MVC, pero he visto en varios sistemas y ejemplos que estan
> en la web sobre web2py
> el mismo problema que existe en PHP, me refiero a que incluso se realizan
> consultas a BDs desde la vista, lo cual rompe el paradigma y el fin que
> persigue, no se si estas practicas
> son la norma, me queda la duda y por eso recurro a ustedes para aclarar bien
> estos temas.

web2py no rompe el "paradigma", en todo caso lo rompe el programador :-)

La norma es dividir en capas y usar buenas prácticas.

Igualmente todo depende del caso, y es mi humilde opiñon, quizás otros
usuarios tienen otra forma de trabajar.

Sds

Mariano Reingart
http://www.sistemasagiles.com.ar
http://reingart.blogspot.com

Max Ponce

unread,
Dec 18, 2012, 2:11:31 PM12/18/12
to web2py-...@googlegroups.com
Gracias Mariano por tus respuestas...
en particular, me preocupa bastante el donde ubicar las funciones que trabajan
con la DB, tengo por costumbre dividir la funcionalidad lo mas que pueda, para asi
facilitar las tareas de debug ...
 
Saludos.
MP

Mariano Reingart

unread,
Dec 18, 2012, 3:43:22 PM12/18/12
to web2py-...@googlegroups.com
Puedes ubicar las funciones en los modelos, modulos, o controladores.

Yo por ej dejo la funcion en el controlador si es algo particular y no
es muy usada.
Si es usada por la mayoría de los controladores, dejo la funcion en el modelo.
Si es una función genérica que puede ser usada en varios controladores
o incluso en otros proyectos, la paso a los modulos.

Habría que ver que tipo de aplicación es, la cantidad de tablas, etc.
2012/12/18 Max Ponce <maxpon...@gmail.com>:

samuel bonilla

unread,
Dec 18, 2012, 7:25:10 PM12/18/12
to web2py-...@googlegroups.com
te recomiendo mejor hacer los modelos en modulos para evitar cargas innecesarias...


Reply all
Reply to author
Forward
0 new messages