Andreas Thiele said:
I thought OO basically is binding function and state.
There are different points of view. One can only agree
that there is not a single definition accepted by everyone.
I have a German language page [1] giving two definition
by relevant sources, in English: [2] and [3], see also [4].
Having a look into my german edition of Gamma's Design Pattern doesn't
reveal anything related to those two. So, to answer my own question, I think
they are not really design pattern.
Here are three quotations regarding software design patterns:
From: Pascal Costanza <
[email protected]>
Newsgroups: comp.lang.lisp
Message-ID: <
[email protected]>
The Design Patterns book has a subtext that strongly suggests that
patterns must be complex, must use some kind of UML notation and must
have something to do with OOP. Nothing of this is true. Here is an
example of a set of patterns that are quite different:
http://c2.com/cgi/wiki?SimplyUnderstoodCode (written by Richard Gabriel
specifically to show that there is more to patterns than people usually
think).
From: Matthew Danish <
[email protected]>
Newsgroups: comp.lang.lisp
Message-ID: <
[email protected]>
Hah, you just opened up another can of worms! =) Design patterns as
realized in software architecture today are bull; they are just
published and accepted ways of working around the limitations of C++
and Java. There is nothing fundamental about most of them that makes
them transcend language. Especially since the paradigms of different
languages really do encourage different solutions to the same problem.
From: Stefan Matthias Aust <
[email protected]>
Newsgroups: de.comp.lang.java
Message-ID: <
[email protected]>
[[ Translation to English follows below! ]]
Schon richtig. Aber Basis für das Buch war IIRC seine Doktorarbeit -
und die war in Deutsch. Die Idee der Patterns gab es ja schon vorher,
siehe Portland-Pattern-Repository, maßgeblich bestimmt von Kent Beck
(Smalltalk) und Richard P. Gabriel (Lisp), ursprünglich erfunden von
Christopher Alexander (Architekt). Aber Gammas Leistung war das
Formalisieren von Basispatterns für C++ (und die Beschreibung eines
Anwendungsrahmenwerks damit).
in English:
Quite right. But the basis of his book was his doctorate -
and that was written in German language. The idea of patterns was there already before,
see the Portland-Pattern-Repository, significantly affected by Kent Beck
(Smalltalk) and Richard P. Gabriel (Lisp), originally invented by
Christopher Alexander (architect). But Gammas merit was the
formalization of basic patterns for C++ (and the description of an
application framework using them).
[1]
http://www.purl.org/stefan_ram/pub/begriff_objektorientierte_programmierung_de
[2]
http://www.purl.org/stefan_ram/pub/doc_kay_oop_en
[3]
http://www.ncits.org/tc_home/k5htm/o1.htm#object-oriented
[4]
http://c2.com/cgi/wiki?ObjectOrientedProgramming