Dado que Python es un lenguaje de pato, escribir clases de fábrica no tiene sentido en Python? http://en.wikipedia.org/wiki/Factory_method_pattern¿El patrón de fábrica no tiene sentido en Python?
Respuesta
Aunque puede haber ocasiones en que el patrón de fábrica no es necesario donde puede ser necesario en otros idiomas, todavía hay ocasiones en las que sería válido usarlo; podría ser una forma de hacer que su API sea más limpia - por ejemplo, como una forma de prevenir la duplicación de código que decide cuál de una serie de subclases devolverá.
del artículo de Wikipedia se conectó:
utilizar el patrón de fábrica cuando:
- La creación del objeto impide la reutilización sin duplicar significativamente código.
- La creación del objeto requiere acceso a información o recursos no apropiados para contener dentro del objeto de composición.
- La gestión de vida de los objetos creados debe centralizarse para garantizar un comportamiento coherente.
Todos estos pueden aplicarse cuando el idioma es pato tipado.
No es exactamente una fábrica clase, pero la biblioteca estándar de Python tiene al menos un método de fábrica: http://docs.python.org/library/collections.html#collections.namedtuple.
Y luego, por supuesto, está el hecho de que puede crear clases dinámicamente usando the type()
builtin.
No diría que carecen de sentido, ya que Python ofrece una gran cantidad de posibilidades para el tipo de fábricas que puede crear. Es comparativamente simple incluso escribir una clase de fábrica que crea clases de fábrica como instancias que pueden llamarse a sí mismas.
- 1. Entender el patrón de fábrica
- 2. php - ¿No tiene sentido FILTER_SANITIZE_EMAIL?
- 3. ¿Cuándo utilizar el patrón abstracto de fábrica?
- 4. Patrón de fábrica en Java
- 5. patrón java: cuando tiene sentido usar variables temporales
- 6. Patrón de fábrica abstracto
- 7. mito sobre el patrón de la fábrica
- 8. ¿En qué casos tiene sentido usar clases de fábrica en lugar de funciones estáticas?
- 9. fábrica patrón de diseño método
- 10. ¿El patrón de fábrica resolverá mi problema?
- 11. ¿Cuándo tiene sentido abandonar MVVM?
- 12. cuándo utilizar el patrón abstracto de fábrica?
- 13. ¿Tiene sentido multiproceso en asp.net?
- 14. patrón de la fábrica adecuada en C++
- 15. ¿Tiene sentido estudiar COBOL?
- 16. fábrica (patrón de diseño) en Objective C
- 17. Principiante: Patrón de fábrica en Java
- 18. ¿Cuándo tiene más sentido utilizar el patrón de fábrica en lugar de un constructor sobrecargado para crear una instancia de un objeto?
- 19. El tamaño máximo del conjunto residente no tiene sentido
- 20. Patrón de fábrica para Selenium webdriver
- 21. ¿Qué sentido tiene Adobe AIR?
- 22. ¿Tiene sentido usar un grupo de Actores?
- 23. ¿Tiene sentido jQuery cache $ (this)?
- 24. ¿Qué sentido tiene UTF-16?
- 25. ¿iterar E/s tiene sentido en lenguajes no funcionales?
- 26. inyección dinámica de resorte, patrón de fábrica
- 27. Usando Cython con Django. ¿Tiene sentido?
- 28. ¿Patrón de fábrica abstracto sobre IoC?
- 29. ¿Usar listas de estructuras tiene sentido en el cacao?
- 30. ¿En qué situación utilizamos el patrón de fábrica y en qué patrón de Singleton?
Tienes razón. Pensé que el patrón de fábrica solo se basa en el tipo de objeto devuelto por el método create de la clase de fábrica. Obviamente, hay más razones para usar el patrón cuando sea apropiado. –