MASTER'S THESISEVALUATING SOFTWARE DESIGN PATTERNS
— the "Gang of Four" patterns implementented in Java 6
There is no quote for the bibliography.
— Maz Spork
— Maz Spork
References post fixed with a date indicates the date they were retrieved, in the format dd.mm.yyyy. Note that the bibliography has been updated to reflect thesis changes made after grading.
[Alexander77] |
A Pattern Language — Towns, Buildings, Construction 1977; Oxford University Press; ISBN 0195019199 |
|
[Alexander79] |
The Timeless Way of Building 1979; Oxford University Press; ISBN 0195024028 |
|
[Alexander05a] |
Generative Codes — The Path to Building Welcoming, Beautiful, Sustainable Neighborhoods , , , , and 2005; DRAFT, Version 17; http://www.livingneighborhoods.org/library/generativecodesv10.pdf (29.06.2006) |
|
[Alexander05b] |
The Relationships Between Pattern Languages, Sequences, and Generative Codes 2005; http://www.livingneighborhoods.org/ht-0/patternlanguages.htm (20.05.2007) |
|
[Appleton] |
Patterns for Java and Distributed Computing http://www.cmcrossroads.com/bradapp/javapats.html (26.06.2006) |
|
[Appleton97] |
On the Nature of The Nature of Order 1997; http://www.cmcrossroads.com/bradapp/docs/NoNoO.html (26.06.2006) |
|
[Appleton00] |
Patterns and Software — Essential Concepts and Terminology 2000; http://www.cmcrossroads.com/bradapp/docs/patterns-intro.html (26.06.2006) |
|
[Armstrong06] |
The Quarks of Object—Oriented Development 2006; Communications of the ACM, Volume 49, No 2, pages 123-128; ACM Press |
|
[Arnout06] |
Pattern componentization: The Factory example and 2006; Innovations in Systems and Software Technology (a NASA journal); http://se.ethz.ch/~meyer/publications/nasa/factory.pdf (30.04.2007) |
|
[AspectJ] |
AspectJ Web Site http://www.eclipse.org/aspectj/ (21.05.2007) |
|
[Bacon] |
The "Double—Checked Locking is Broken" Declaration , , , , , , , , , , , , and http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html (13.01.2009) |
|
[Baroni03] |
Design Patterns Formalization , , and 2003; Technical Report 03/03/INFO; Computer Science Department, École des Mines de Nantes; http://www.iro.umontreal.ca (..) Research+report+Metamodeling+June03.doc.pdf (17.05.2007) |
|
[Beck87] |
Using Pattern Languages for Object—Oriented Programs and 1987; Technical Report CR-87-43, Presented at OOPSLA-87; Abstract at http://c2.com/doc/oopsla87.html (20.06.2006) |
|
[Bloch01] |
Effective Java — Programming Language Guide 2001; Prentice Hall; ISBN 0201310058 |
|
[Bloch08] |
Effective Java — Second Edition 2008; 2nd Edition; Prentice Hall; ISBN 0321356683 |
|
[Borchers99] |
Pattern Languages in Human—Computer Interaction — Suite Overview 1999; http://www.hcipatterns.org/tiki-download_file.php?fileId=10 (25.06.2006) |
|
[Bracha04] |
Generics in the Java Programming Language 2004; http://java.sun.com/j2se/1.5/pdf/generics-tutorial.pdf (19.10.2006) |
|
[Buschmann96] |
Pattern—Oriented Software Architecture — A System of Patterns, Volume 1 , , , , and 1996; John Wiley & Sons, Inc.; ISBN 0471958697 |
|
[Brown98] |
AntiPatterns — Refactoring Software, Architectures, and Projects in Crisis , , , and 1998; John Wiley & Sons, Inc.; ISBN 0471197130 |
|
[Cockburn01] |
Writing Effective Use Cases 2001; Addison—Wesley; ISBN 0201702258 |
|
[Coplien] |
Software Design Patterns: Common Questions and Answers ftp://st.cs.uiuc.edu/pub/patterns/papers/PatQandA.ps (20.05.2007) |
|
[Coplien91] |
Advanced C++ Programming Styles and Idioms 1991; Addison—Wesley; ISBN 0201548550 |
|
[Dominus02] |
"Design Patterns" Aren't 2002; http://perl.plover.com/yak/design (25.06.2006) |
|
[DeMichiel87] |
The Common Lisp Object System: An Overview and 1987; Lucid, Inc.; http://www.dreamsongs.com/NewFiles/ECOOP.pdf (01.10.2006) |
|
[Eckel03] |
Thinking in Patterns — Problem—Solving Techniques using Java, Revision 0.9 2003; http://www.mindviewinc.com/downloads/TIPatterns-0.9.zip (20.06.2006) |
|
[Eden98] |
Giving "The Quality" A Name 1998; http://www.eden-study.org/articles/1998/giving_the_quality_a_name.pdf (20.05.2007) |
|
[Eden02] |
A Theory of Object—Oriented Design 2002; Information Systems Frontiers 4:4, pages 379-391; http://www.eden-study.org/articles/2002/isf4(4).pdf (18.02.2007) |
|
[Eden04] |
LePUS2 — Updates and Challenges 2004; http://www.eden-study.org/articles/2004/Lepus2-updates-challenges.pdf (21.06.2006) |
|
[Ernst07] |
Annotations on Java types — JSR 308 working document 2007; http://groups.csail.mit.edu/pag/javari/java-annotation-design.pdf (16.08.2007) |
|
[Fowler97] |
Analysis Patterns — Reusable Object Models 1997; Addison—Wesley; ISBN 0201895420 |
|
[Fowler03] |
Patterns of Enterprise Application Architecture 2003; Addison—Wesley; ISBN 0321127420 |
|
[Fowler04] |
Is Design Dead? 2004; http://www.martinfowler.com/articles/designDead.html (22.06.2006) |
|
[Fowler05] |
CallSuper 2005; http://www.martinfowler.com/bliki/CallSuper.html (16.05.2007) |
|
[Fowler06] |
Writing Software Patterns 2006; http://www.martinfowler.com/articles/writingPatterns.html (15.05.2007) |
|
[Gafter06] |
Super Type Tokens 2006; http://gafter.blogspot.com/2006/12/super-type-tokens.html (16.05.2007) |
|
[Gamma95] |
Design Patterns — Elements of Reusable Object—Oriented Software , , , and 1995; Addison—Wesley Longman, Inc.; ISBN 0201633612 |
|
[Gosling05] |
The Java Language Specification , , , and 2005; 3rd Edition; Addison—Wesley; ISBN 0321246780; http://java.sun.com/docs/books/jls/download/langspec-3.0.pdf (09.10.2006) |
|
[Graham02] |
Revenge of the Nerds 2002; http://www.paulgraham.com/icad.html (27.07.2006) |
|
[Grand98] |
Patterns in Java — A Catalog of Reusable Design Patterns Illustrated with UML, Volume 1 1998; John Wiley & Sons, Inc.; ISBN 0471258393 |
|
[Grand99] |
Patterns in Java — A Catalog of Reusable Design Patterns Illustrated with UML, Volume 2 1999; John Wiley & Sons, Inc.; ISBN 0471258415 |
|
[Hacknot07] |
Invasion Of The Dynamic Language Weenies 2007; http://www.hacknot.info/hacknot/action/showPrintableEntry?eid=93 (18.05.2007) |
|
[Halloway07] |
Design Patterns are Code Smells 2007; http://relevancellc.com/2007/5/17/design-patterns-are-code-smells.html (04.06.2007) |
|
[Hannemann02] |
Design Pattern Implementation in Java and AspectJ and 2002; Proceedings of the 17th Annual ACM conference on OOPSLA; pages 161-173; http://www.cs.ubc.ca/labs/spl/papers/2002/oopsla02-patterns.pdf (22.05.2007) |
|
[Hillside] |
Hillside.net — Online Pattern Catalog http://hillside.net/patterns/onlinepatterncatalog.htm (26.06.2006) |
|
[Hohmann98] |
Getting Started With Patterns 1998; Software Development Magazine, February issue; http://www.lukehohmann.com/paper-gettingstartedwithpatterns.php (26.06.2006) |
|
[Langer06] |
Java Generics — Frequently Asked Questions 2007; http://www.angelikalanger.com/GenericsFAQ/JavaGenericsFAQ.pdf (03.06.2007) |
|
[Larman04] |
Applying UML and Patterns — An Introduction to Object—Oriented Analysis and Design and Iterative Development 2004; 3rd Edition; Prentice Hall; ISBN 0131489062; http://authors.phptr.com/larman/uml_ooad/index.html |
|
[Lea93] |
Christopher Alexander: An Introduction for Object—Oriented Designers 1993; http://g.oswego.edu/dl/ca/ca/ca.html (23.06.2006) |
|
[Lea00] |
Patterns—Discussion FAQ (maintained by) 2000; http://g.oswego.edu/dl/pd-FAQ/pd-FAQ.html (23.06.2006) |
|
[Livshits05] |
Turning Eclipse Against Itself: Finding Bugs in Eclipse Code Using Lightweight Static Analysis 2005; Eclipsecon '05 Research Exchange; http://suif.stanford.edu/~livshits/papers/pdf/eclipsecon05-checklipse.pdf (14.04.2007) |
|
[Meyer03] |
The power of abstraction, reuse and simplicity: an object—oriented library for event—driven design 2003; Festschrift in Honor of Ole-Johan Dahl, Lecture Notes in Computer Science 2635; http://se.ethz.ch/~meyer/publications/lncs/events.pdf (30.04.2007) |
|
[Meyer06] |
Componentization: The Visitor Example and 2006; Computer (IEEE); http://se.ethz.ch/~meyer/publications/computer/visitor.pdf (29.04.2007) |
|
[McCormick01] |
AntiPatterns and 2001; Dr. Dobb's Journal, July 22; http://www.ddj.com/article/printableArticle.jhtml?articleID=184410581&dept_url=/ (22.06.2006) |
|
[MDA] |
OMG Model Driven Architecture http://www.omg.org/mda/ |
|
[Norvig96] |
Design Patterns in Dynamic Programming 1996; http://norvig.com/design-patterns/design-patterns.ppt (21.06.2006) |
|
[Orme05] |
Java does Duck Typing 2005; http://www.coconut-palm-software.com/the_visual_editor/?p=25 (07.07.2007) |
|
[PPR] |
Portland Pattern Repository http://c2.com/cgi/wiki (23.06.2006) |
|
[Rode07a] |
Evaluating Software Design Patterns — Thesis Specification 2007; http://www.rode.dk/thesis/download/thesis-specification.pdf |
|
[Rode07b] |
Evaluating Software Design Patterns — Thesis Defence 2007; http://www.rode.dk/thesis/download/thesis-defence.pps |
|
[Rogers01] |
Encapsulation is not information hiding 2001; JavaWorld; http://www.javaworld.com/cgi-bin/mailto/x_java.cgi (03.05.2007) |
|
[RUP] |
Rational Unified Process http://www-306.ibm.com/software/awdtools/rup/ |
|
[Schmidt] |
Overview of Object—Oriented Design Principles and Techniques http://www.cs.wustl.edu/~schmidt/PDF/ood-overview4.pdf (19.03.2007) |
|
[Schmidt00] |
Pattern—Oriented Software Architecture — Patterns for Concurrent and Networked Objects, Volume 2 , , , and 2001; John Wiley & Sons, Inc.; ISBN 0471606952 |
|
[SEI] |
Carnegie Mellon Software Engineering Institute — Software Technology Roadmap http://www.sei.cmu.edu/str/descriptions/ (19.02.2007) |
|
[Sethi96] |
Programming Languages — Concepts & Constructs 1996; 2nd Edition, Addison—Wesley; ISBN 0201590654 |
|
[Sierra06] |
SCJP Sun Certified Programmer for Java 5 — Study Guide and 2006; McGraw—Hill; ISBN 0072253606 |
|
[Stroustrup91] |
The C++ Programming Language 1991; 2nd Edition, Addison—Wesley; ISBN 0201539926 |
|
[Sullivan02a] |
Advanced Programming Language Features for Executable Design Patterns — Better Patterns Through Reflection 2002; ftp://publications.ai.mit.edu/ai-publications/2002/AIM-2002-005.pdf (18.05.2007) |
|
[Sullivan02b] |
Advanced Programming Language Features and Software Engineering: Friend or Foe? 2002; http://people.csail.mit.edu/gregs/proglangsandsofteng.ppt (18.05.2007) |
|
[Taibi07] |
Design Pattern Formalization Techniques 2007; IGI publishing; ISBN 1599042193 |
|
[UML05] |
Unified Modelling Language 2.0 Formal/05-07-04, Formal/05-07-05; ISO/IEC 19501; 2005; Object Management Group (OMG); http://www.omg.org/technology/documents/formal/uml.htm (20.06.2006) |
|
[Vieiro06] |
Singletonitis 2006; http://www.antonioshome.net/blog/pivot/entry.php?id=30 (20.05.2007) |
|
[Vlissides97] |
Patterns: The Top Ten Misconceptions 1997; Object Magazine; http://www.research.ibm.com/designpatterns/pubs/top10misc.html (20.01.2007) |
|
[WirfsBrock90] |
Designing Object—Oriented Software , , and 1990; Prentice Hall; ISBN 0136298257 |