Am 04.11.2011 01:33, schrieb Anthony Kong:
I would like to find out what is the current prevailing view or
consensus (if any) on the use of Design Pattern in python?

My consensus with myself is that design patterns are language-agnostic. If I write "class Foo serves as view and controller for class Bar in a model-view-controller (MVC) design", everybody that knows MVC has immediately a very high-level understanding of how those two classes interact.


I am doing some 'fact-finding' in this area on request of my
colleagues. Some of them want to buy a book or two in this subject
area. Hopefully the newsgroup can give me some book recommendation
and insight in this topic.

The Gang of Four book on design patterns is one you will probably come across, and there are many that refer to it.


I myself pretty much subscribe to the view that the nature of python
language actually do away much of the need of the use of DP, but it
is just a personal view. It comes form my experience of migrating
from webware4py (webframework based on J2EE/servlet idea) to
cherrypy

"webframework based on J2EE/servlet" - apart from J2EE being a specific implementation, this also describes a design pattern, i.e. one where (forgive me if I'm slightly off, this is not actually my field of programming) the UI is browser-based and the program logic runs on a server.

Instead of explaining it in many words, you reused the known design pattern to describe it, and that is also IMHO what design patterns are about. They serve as a tool to make software that follows known patterns, so that people that know the pattern will recognize them and then get easier understanding. It also serves as tool when talking about things, you don't have to explain the design when you can refer to a pattern.

In that sense, I fully disagree that design patterns are obsolete in Python. However, there are other patterns that are more language-specific, like e.g. RAII in C++, so if you rather meant those, I would agree with you.

Cheers!

Uli

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to