Guide to the Unified Process Featuring UML, Java and Design Patterns

Part 2: Design Patterns

Chapters List

Chapter 12: Software Patterns
Chapter 13: Patterns Catalogs
Chapter 14: Applying the Model View Controller Pattern
Chapter 15: The Hierarchical MVC
Chapter 16: The Visitor Framework
Chapter 17: The EventManager
Chapter 18: J2EE Patterns
Chapter 19: The Fault Tracker J2EE Case Study

12.1 Introduction

There is a growing interest in what have become known generically as patterns; to be more precise, in design patterns. This is evidenced by the number of books now appearing on patterns (just try searching on "Patterns" and "Java" at http://www.amazon.com). One of these books in particular presents a very good introduction to the philosophy of patterns (Fowler, 1997). However, none of these attempts to present a sample pattern, highlight the many motivations behind the uptake of patterns or consider when they should be used. This chapter attempts to provide these along with a brief consideration of the strengths and weaknesses of patterns.

Historically, design patterns have their basis in the work of an architect who designed a language for encoding knowledge of the design and construction of buildings (Alexander et al., 1977; Alexander, 1979). The knowledge is described in terms of patterns that capture both a recurring architectural arrangement and a rule for how and when to apply this knowledge. That is, they incorporate knowledge about the design as well as the basic design relations.

This work was picked up by a number of researchers working within the object-oriented field. This then led to the exploration of how software frameworks can be documented using...

UNLIMITED FREE
ACCESS
TO THE WORLD'S BEST IDEAS

SUBMIT
Already a GlobalSpec user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your GlobalSpec Experience

Category: Data Mining Software
Finish!
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.