Patrones de diseño en Python

David Villa dvilla en gmx.net
Lun Ago 29 16:26:02 CEST 2005


Hola:

Es un punto de vista muy interesante. Estoy de acuerdo en que *algunos*
patrones "habituales" en C++ o Java sean innecesario implementarlos en
Python. Pero no creo que se pueda generalizar. Quizá algunos de los
patrones de creación o de estructura son reemplazables por la propia
semántica del lenguaje, como lo pueda ser en C++ con la STL, pero hay
otros, sobre todo los "comportamentales" (se dice así?) que son muy
convenientes en el diseño, por ejemplo: Observador y Reactor. 

En cualquier caso, los patrones de diseño, son eso, herramientas de
*diseño*, es decir, no tienen nada que ver con el lenguaje en que se
implemente el sistema. Los patrones pueden y deben estar en el diagrama
de clases aunque quizá el lenguaje elegido para la implementación no
requiera un construcción idiomática concreta. En realidad, pocas veces
lo requiere, aunque sea en otros lenguajes. 

No es que los patrones sean innecesarios en Python, es que Python es de
tan alto nivel que ya lleva incorporados muchos de esos conceptos de
diseño. Es mi humilde opinión.

Saludos


El lun, 29-08-2005 a las 10:47 +0200, Chema Cortes escribió:
> Cesar Cardenas Desales escribió:
> > Espero que les guste el artículo traducido sobre
> > Patrones de Diseño en Python, que se encuentra en el
> > sitio de PythonMéxico:
> > 
> > http://www.pythonmexico.org/index_html/doc/PatronesDiseno
> 
> 
> Creo que has traducido "idioms" por "idiomas", cuando la traducción
> correcta sería "modismos" ("idiomas" se asocia a "languages").
> 
> Sobre el tema, hay quien piensa (me incluyo entre ellos) que los
> patrones de diseño son innecesarios en python, justamente por tener esos
> "modismos" que tanto lo caracteriza (compresión de listas, generadores e
> iteradores, decoradores, descriptores, etc). Intentar trasladar los
> patrones de diseño utilizados en otros lenguajes puede estar bien por
> razones semánticas (hay que conocer la terminología), pero su uso podría
> ser más discutible.
> 
> Para explicar un poco esta posición, hay un buen artículo que trata del
> no-patrón Borg como contraposición al singleton:
> 
> http://www.aleax.it/5ep.html
> 
> 
> Otra referencia que tenía por ahí:
> 
> http://www.suttoncourtenay.org.uk/duncan/accu/pythonpatterns.html#iterators-and-generators
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es
> 




Más información sobre la lista de distribución Python-es