Encontré muchos enlaces en metaclases, y la mayoría de ellos menciona que son útiles para implementar métodos de fábrica. ¿Puede mostrarme un ejemplo del uso de metaclases para implementar el patrón de diseño?Implementación del patrón de diseño de fábrica usando metaclases en python
Respuesta
Me encantaría escuchar los comentarios de la gente sobre esto, pero creo que esto es un ejemplo de lo que quiere hacer
class FactoryMetaclassObject(type):
def __init__(cls, name, bases, attrs):
"""__init__ will happen when the metaclass is constructed:
the class object itself (not the instance of the class)"""
pass
def __call__(*args, **kw):
"""
__call__ will happen when an instance of the class (NOT metaclass)
is instantiated. For example, We can add instance methods here and they will
be added to the instance of our class and NOT as a class method
(aka: a method applied to our instance of object).
Or, if this metaclass is used as a factory, we can return a whole different
classes' instance
"""
return "hello world!"
class FactorWorker(object):
__metaclass__ = FactoryMetaclassObject
f = FactorWorker()
print f.__class__
El resultado que verá es: escriba 'str'
No es necesario. Puede override a class's __new__()
method para devolver un tipo de objeto completamente diferente.
No creo que pueda con metaclases ... (tal vez pueda - si es así, hágamelo saber y sabré algo :)) – RyanWilcox
Puede encontrar algunos ejemplos útiles en wikibooks/python, here y here
esos son exactamente los enlaces con los que tropecé No pude encontrar un ejemplo concreto de una fábrica (aunque todos lo mencionen) en ninguna de ellas ... – olamundo
- 1. fábrica patrón de diseño método
- 2. fábrica (patrón de diseño) en Objective C
- 3. Implementación del patrón de repositorio en Python?
- 4. ¿Qué es un patrón de diseño de fábrica en PHP?
- 5. metaclases Python
- 6. Implementación de Python del patrón de diseño de grupo de objetos
- 7. Patrón de diseño de fábrica (necesidad de crítica)
- 8. Patrón de fábrica abstracto
- 9. Implementación del patrón de decorador
- 10. Implementación del patrón de adaptador
- 11. Patrón de fábrica en Java
- 12. Patrón de método de fábrica en Java usando genéricos, ¿cómo?
- 13. ¿Qué patrón de diseño es el opuesto al patrón de fábrica?
- 14. Implementación del patrón de repositorio
- 15. Frustraciones del patrón de diseño
- 16. ¿El patrón de fábrica no tiene sentido en Python?
- 17. correctamente usando el patrón de diseño Singleton
- 18. Ejemplos del mundo real del patrón Método de fábrica
- 19. Principiante: Patrón de fábrica en Java
- 20. Patrón de diseño DAO
- 21. Patrón de diseño del observador en C++
- 22. desventajas del patrón de diseño del generador
- 23. Entender el patrón de fábrica
- 24. Ayuda de implementación del patrón de especificación
- 25. inyección dinámica de resorte, patrón de fábrica
- 26. Patrones de diseño: Fábrica y Repositorio
- 27. Patrón de diseño singleton: escollos
- 28. patrón de la fábrica adecuada en C++
- 29. Diseño de patrón "Fachada"
- 30. ¿El patrón de fábrica resolverá mi problema?
¿Puedes agregar un poco de "factorización" al ejemplo, es decir, alguna personalización aplicada a los objetos creados? – olamundo