¿Alguien está usando meta-meta-classes / meta-meta-meta-classes en Python / otros idiomas?

Recientemente descubrí metaclases en python.

Básicamente, una metaclase en python es una clase que crea una clase. Hay muchas razones útiles por las que desearía hacer esto, por ejemplo, cualquier tipo de inicialización de clase. Registrar clases en fábricas, validación compleja de atributos, alterar el funcionamiento de la herencia, etc. Todo esto se vuelve no solo posible sino simple.

Pero en python, las metaclases también son clases simples. Entonces, comencé a preguntarme si la abstracción podría ir más allá, y me parece que puede y que:

una metaclase corresponde o implementa un rol en un patrón (como en los lenguajes de patrones GOF).una meta-metaclase es el patrón en sí (si le permitimos crear tuplas de clases que representan roles abstractos, en lugar de una sola clase)una meta-meta-metaclase es unafábrica de patrones, que corresponde a las agrupaciones de patrones GOF, p. Creacional, estructural, conductual. Una fábrica donde podría describir un caso de cierto tipo de problema y le daría un conjunto de clases que lo resolvieron.una meta-meta-meta-metaclase (hasta donde puedo llegar), es unafábrica de patrones de fábrica, una fábrica a la que quizás podría describir el tipo de su problema y le daría una fábrica de patrones para preguntar.

Encontré algunas cosas sobre esto en línea, pero en su mayoría no son muy útiles. Un problema es que los diferentes idiomas definen las metaclases de manera ligeramente diferente.

¿Alguien más ha usado metaclases como esta en python / en otro lugar, o ha visto esto usado en la naturaleza, o lo ha pensado? ¿Cuáles son los análogos en otros idiomas? P.ej. en C ++, ¿hasta dónde puede llegar la recursividad de la plantilla?

Me gustaría mucho investigarlo más a fondo.

Respuestas a la pregunta(5)

Su respuesta a la pregunta