[pyar] Uso de funciones vs Clases
Nicolás Antinori
nicolas_antinori en hotmail.com
Vie Nov 1 13:28:31 ART 2013
Viniendo de java, yo lo pensaria mas por el lado de definir funcionalmente las cosas que en java serian static. Ponele que tenes un modulo en java que es una clase estatica para trabajar numeros complejos, pero que la misma no guarda los numeros, sino que solo contiene las operaciones.
Todas las operacioens son static (para el que no conoce java, esto sirve para no tener una instancia de la clase en memoria pero se pueden utilizar los metodos estaticos que esta ofrece), seria tonto (a mi punto de vista) crear un modulo en python, y hacer una clase que adentro contenga las funciones para manejar numeros complejos.
No se si me explique bien :P. De seguro debe haber mas circunstancias donde a uno le conviene definir una funcion fuera de una clase que adentro, pero lo que puse arriba me parece lo mas visible.
P.D: Nunca me presente, Hola mundo! :P
Date: Fri, 1 Nov 2013 13:20:52 -0300
From: ricaraoz en gmail.com
To: pyar en python.org.ar
Subject: Re: [pyar] Uso de funciones vs Clases
Jajaja, sólo por argumentar.... si
necesito modelar un ente como por ejemplo "Sumador de números" o
"restador de números" utilizo un objeto pero si es un verbo, por
ejemplo "Filtrar usuarios" utilizo una función. Es una regla muy
tramposa.
Lo que quiero decir es que esto de verbos/sustantivos es bastante
relativo en muchos casos. Los distintos paradigmas
funcional/objetos/etc. se crearon básicamente para simplificarnos
la vida, así que tal vez deberíamos usarlos cuando nos simplifican
la vida, y ahí entra el criterio de cada programador. Si tenés
buen criterio las decisiones que hagas te van a simplificar la
vida útil del sistema. Y siempre, si algo te complica demasiado la
vida, podés refactorizar.
Recordemos el PEP 20 : "
Although practicality beats purity."
El 01/11/13 10:55, Juan Manuel Pérez escribió:
Un approach sencillo (y preliminar) puede ser
pensar en que si lo que queremos modelar es un sustantivo o un
verbo.
Por ejemplo, como ya mencionaron, "sumar", "restar" son verbos
=> funciones.
Por otro lado, si necesito modelar algo que sea un ente y
no una acción, digamos por ejemplo "Filtro de Usuarios", lo
considero como un objeto hecho y derecho, y escribo su
comportamiento en una clase. Que tenga estado o no, es
irrelevante.
De nuevo aclaro, es una primera idea que después hay que
refinar :)
Saludos,
JM
2013/11/1 Nicolás Rebagliati <nicolas.rebagliati en aenima-x.com.ar>
Hola, yo vengo del palo de java. Por lo cual constantemente
trato de meter clases por todos lados.
Y me olvido del lado funcional de python.
Ustedes en que se basan para definir si determinada
funcionalidad resolverla con funciones o clases?
La respuesta mas obvia calculo que será entender si necesito
un estado y un comportamiento, o únicamente un
comportamiento.
Saludos
_______________________________________________
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/20131101/e964145b/attachment-0001.html>
More information about the pyar
mailing list