[pyar] Desacoplar una clase

Lucas rollbak en gmail.com
Jue Feb 10 20:00:36 ART 2011


2011/2/10 j0hn <j0hn.com.ar en gmail.com>:
> Buenas lista, estoy haciendo una pequeña libreria para leer y editar
> archivos con formato bmp solo para experimentar y hacer todo yo mismo (ya se
> que existen toneladas de cosas iguales pero queria experimentar por cuenta
> propia y ver que salia, solo para entretenerme)
> La cosa es que tengo una clase con muchos metodos y quiero separar esos
> metodos en archivos separados pero que se sigan manejando como si fueran
> metodos de la misma clase...
> Lo que tengo es esto:
> https://github.com/j0hn/BMPy/blob/master/bmpy.py
> class BMPy:
> ...
> def mosaic
> ...
> def blur
> ...
> def sepia
> ...
> Lo que quiero lograr es tener todos esos efectos por separado, por ejemplo
> en filters/mosaic.py, filters/blur.py, etc
> pero seguir usandolos como si fueran de BMPy, o sea haciendo:
> img = BMPy("image.bmp")
> img.mosaic(10)
> img.save_to("image2.bmp")
> y hay que tener en cuenta que todos los efectos tienen que seguir teniendo
> una referencia a la clase BMPy ya que ahí esta el bitmap y eso es lo que
> modifican.
> Alguno me podria explicar como puedo lograr esto?
> _______________________________________________
> 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/
>

Podes hacer que uso de la herencia multiple de python y hacer una
clase por filtro y que despues BMPy herede de cada uno de los filtros,
igualmente asi y todo no me parece que se la mejor forma de
organizarlo. Creo que lo mejor seria tener los filtros fuera de la
clase bmp ya q eso te haria mas flexible agregar nuevos filtros
despues, sin tener que toquetear la clase bmp cada vez que haces un
nuevo filtro.

saludos,
-- 
Lucas



More information about the pyar mailing list