If design patterns are not supposed to produce reusable code then why use them?
| From: | Tony Marston | Date: | Wed, 30 Dec 2009 16:50:40 +0000 |
| Subject: | If design patterns are not supposed to produce reusable code then why use them? | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-300746@lists.php.net to get a copy of this message | ||
I have recently been engaged in an argument via email with someone who
criticises my low opinion of design patterns (refer to
http://www.tonymarston.net/php-mysql/design-patterns.html
). He says that
design patterns are merely a convention and not a reusable component. My
argument is that something called a pattern is supposed to have a recurring
theme, some element of reusability, so that all subsequent implementations
of a pattern should require less effort than the first implementation. If
design patterns do not provide any reusable code then what is the point of
using them?
I do not use design patterns as I consider them to be the wrong level of
abstraction. I am in the business of designing and developing entire
applications which comprise of numerous application transactions, so I much
prefer to use transaction patterns (refer to
http://www.tonymarston.net/php-mysql/design-patterns-are-dead.html
and
http://www.tonymarston.net/php-mysql/transaction-patterns.html
) as these
provide large amounts of reusable code and are therefore a significant aid
to programmer productivity.
What is your opinion? Are design patterns supposed to provide reusable code
or not? If not, and each implementation of a pattern takes just as much time
as the first, then where are the productivity gains from using design
patterns?
--
Tony Marston
http://www.tonymarston.net
http://www.radicore.org