Evaluating Software Design Patterns — the ”Gang of Four” patterns implemented in Java 6. Department of Computer Science Faculty of Science University of Copenhagen Denmark. A Master’s Thesis By Gunni Rode. Agenda Page. Welcome 01 Thesis Goals 05
Evaluating Software Design Patterns— the ”Gang of Four” patterns implemented in Java 6
Department of Computer Science
Faculty of Science
University of Copenhagen
A Master’s Thesis By
Life has been so much easier
since Science invented Magic.
–– Marge Simpson
A pattern foreshadows the product:
it is the rule for making the thing, but it is also,
in many respects, the thing itself.
–– Jim Coplien
But this is not easy…
And design patterns make it easier!
(Requirements and conceptual model)
(Programming language (Java 6))
(“Gang of Four” patterns)
(Computational model (software objects))
Iterator usage makes code robust, recognisable, and easier to maintain!
Whenever anyone says, ”theoretically”,
they really mean, ”not really”.
–– Dave Parnas
High thoughts must have a high language.
←Source code example…
← More analysis…
← Even more analysis…
← Even, even more
X: used directly in a pattern participant
Other: used, but not directly by a local pattern participant
Dark—blue squares: high—lights
Core static features:
Make solutions possible
Promote OO principles
(Static &) dynamic features:
Make solutions very flexible!
Additional static features:
Make solutions robust and possibly reusable
Patterns widely applicable
Reasonable choice of features
A language that does not affect the way
you think about programming, is not worth knowing.
–– Alan J. Perlis
Program testing can be used to show the presence of bugs,
but never to show their absence!
–– Edsger W. Dijkstra
A question that sometimes drive me hazy:
am I or the others crazy?
–– Albert Einstein
When the only tool you have is a hammer,
everything looks like a nail.
–– Abraham Maslow
Life is what happens to you while
you’re busy making other plans.
–– John Lennon