[pyar] Problema de patrones/diseño

Roberto Allende rover en menttes.com
Mie Ene 12 19:43:30 ART 2011


El día 12 de enero de 2011 17:01, Andrés Gattinoni
<andresgattinoni en gmail.com> escribió:
> No sé si alguna vez supe si hay algún patrón para esto, pero si fue
> así, ya me lo olvidé.
>
> Problema: tengo una clase madre (Backend) y una serie de clases hijas
> que implementan distintos backends concretos. La clase Backend define
> la interfaz pública de un backend y las hijas hacen lo necesario para
> cada tipo de backend para llevar a cabo la operación correspondiente.
> Hasta ahí ningún problema. El tema es que hay ciertas operaciones
> comunes (por ejemplo, validaciones de tipos de datos) que yo quisiera
> hacer en todos los métodos públicos, pero no quiero repetir código.
> Cuál es la mejor forma de hacerlo?
>

El pattern dispatcher no te sirve ?. Una forma muy sencilla de
implementar ese pattern es usando getattr:
http://diveintopython.org/power_of_introspection/getattr.html#d0e9362

Siguiendo el ejemplo, en el metodo análogo a output deberias hacer
todo los chequeos y en "output_%s" implementas la especialización que
necesitas.

Fijate que esto seria una alternativa a la herencia.

Saludos
Roberto Allende

--
http://robertoallende.com



More information about the pyar mailing list