[pyar] Clases muy grandes (+ Clases Parciales)
Claudio Omar Melendrez Baeza
claudio.melendrez en gmail.com
Sab Mar 1 19:00:47 ART 2014
+1 por la mención del lado "oscuro" (meta) y sus poderes.
+1 también por la risa que me causó "copadas/raras/desastrosas".
2014-03-01 18:57 GMT-03:00 Ezequiel Brizuela [aka EHB or qlixed] <
qlixed en gmail.com>:
> Ah. Me olvide de menciknarte q podrias usar metaclases y "combinar" las
> clases. La parte "meta" de python es muy poderosa y podes hacer cosas muy
> copadas/raras/desastrosas.
> El mar 1, 2014 6:55 PM, "Ezequiel Brizuela [aka EHB or qlixed]" <
> qlixed en gmail.com> escribió:
>
>> Cosas q podes usar:
>> 1) Composicion: creas una clase nueva que use la autogenerada y que
>> defina los metodos adicionales. Si los metodos adicionales son siempre
>> iguales podes crear una clase aparte( digamos class F) y usar composicion
>> con la clase autogenerada y la F.
>>
>> 2) Herencia: no se por que pensas q queda mal, pero el principio
>> fundamental de la herencia es lo q vos queres hacer o estas haciendo,
>> extender la funcionalidad de una clase preexistente ( la autogenerada)
>>
>> Otras cosas podrias hacer con patrones, como (mal) usar un proxy o
>> adaptator, o usar mixins, pero eso depende mas de q estes puntualmente
>> haciendo.
>>
>> Yo te diria q pienses nuevamente lo de la herencia...
>>
>> Saludos
>> El mar 1, 2014 4:44 PM, "Gonzalo Bonigo" <gonzalobonigo en gmail.com>
>> escribió:
>>
>>> Buenas!
>>>
>>> Tengo el problema de una clase muy grande con muchos métodos. No puedo
>>> dividir mi clase en muchas clases y usar herencia porque mi clase hereda de
>>> una clase generada automáticamente, e implementa los métodos que faltan,
>>> además como es código generado no tengo control sobre lo atributos.
>>> Me encantaría poder definir mi clase en varios archivos, separando los
>>> métodos que tienen tareas en común. Se que C# tiene el concepto de *Clases
>>> Parciales*, el cuál permite exactamente lo que yo necesito. Tengo una
>>> idea de como implementar esto utilizando metacleses y, posiblemente,
>>> decoradores.
>>>
>>> El objetivo del mail es saber si alguien ya tubo este problema y como lo
>>> solucionó, o si ya hay algo de esto echo antes de ponerme a implementar
>>> nada.
>>>
>>> Sds!
>>>
>>>
>>> --
>>> Debugging is twice as hard as writing the code in the first place.
>>> Therefore, if you write the code as cleverly as possible, you are, by
>>> definition, not smart enough to debug it. -- *Kernighan*
>>>
>>> _______________________________________________
>>> 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
>>>
>>
> _______________________________________________
> 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/20140301/463714a5/attachment-0001.html>
More information about the pyar
mailing list