martes, 6 de febrero de 2018

Receta Python No. 8-4: Uso de una Metaclase para Cambiar la Construcción de una Clase

1. Problema

Agregar funcionalidad a una clase a través de una metaclase.

2. Solución

Las metaclases adicionan comportamiento a la definición de una clase personalizada. Su sintaxis (Bernard, 2016):


class NuevaClase(metaclass=NombreMetaclase):

También se puede usar la sintaxis:

class NuevaClase():
    _metaclass__ = NombreMetaclase

3. Código Python

Archivo Python metaclase.py [enlace alternativo]:

En las líneas 4-9 se define la clase Singleton para controlar la instanciación máxima de un (1) objeto. Esta clase se convierte en metaclase para la clase ConexionDb: una buena práctica de diseño de software indica que para recursos que requieren alto cómputo -como la conexión a una base de datos-, debe existir a lo sumo una instancia.

4. Literatura & Enlaces

Bernard J. (2016). Python Recipes Handbook: A Problem-Solution Approach. Canada: Apress.

O

No hay comentarios:

Publicar un comentario

Envíe sus comentarios, dudas, sugerencias, críticas. Gracias.