To pdf

Páginas: 6 (1420 palabras) Publicado: 28 de agosto de 2012
Introduction To
Design Patterns

Design Patterns In Java

Bob Tarr

What Is A Pattern?
l

l

l

l

l

Current use comes from the work of the architect Christopher
Alexander
Alexander studied ways to improve the process of designing
buildings and urban areas
“Each pattern is a three-part rule, which expresses a relation
between a certain context, a problem and a solution.”Hence, the common definition of a pattern: “A solution to a
problem in a context.”
Patterns can be applied to many different areas of human
endeavor, including software development

Design Patterns In Java

Introduction To Design Patterns
2

Bob Tarr

Why Patterns?
l

l

l

l

"Designing object-oriented software is hard and designing
reusable object-oriented software iseven harder." - Erich Gamma
Experienced designers reuse solutions that have worked in the
past
Well-structured object-oriented systems have recurring patterns of
classes and objects
Knowledge of the patterns that have worked in the past allows a
designer to be more productive and the resulting designs to be
more flexible and reusable

Design Patterns In Java

Introduction To DesignPatterns
3

Bob Tarr

Software Patterns History
l

l

l

l

l
l

1987 - Cunningham and Beck used Alexander’s ideas to develop
a small pattern language for Smalltalk
1990 - The Gang of Four (Gamma, Helm, Johnson and Vlissides)
begin work compiling a catalog of design patterns
1991 - Bruce Anderson gives first Patterns Workshop at
OOPSLA
1993 - Kent Beck and Grady Booch sponsor thefirst meeting of
what is now known as the Hillside Group
1994 - First Pattern Languages of Programs (PLoP) conference
1995 - The Gang of Four (GoF) publish the Design Patterns book

Design Patterns In Java

Introduction To Design Patterns
4

Bob Tarr

Types Of Software Patterns
l
l
l
l
l
l

Analysis
Design
Organizational
Process
Project Planning
Configuration ManagementDesign Patterns In Java

Introduction To Design Patterns
5

Bob Tarr

Types Of Software Patterns
l

l

Riehle and Zullighoven in “Understanding and Using Patterns in
Software Development” mention three types of software patterns
Conceptual Pattern
é

l

Design Pattern
é

l

Pattern whose form is described by means of terms and concepts from the
application domainPattern whose form is described by means of software design constructs,
such as objects, classes, inheritance and aggregation

Programming Pattern (Programming Idiom)
é

Pattern whose form is described by means of programming language
constructs

Design Patterns In Java

Introduction To Design Patterns
6

Bob Tarr

Design Pattern Levels Of Abstraction
l

l

Complex design for anentire
application or subsystem

More Abstract

Solution to a general design
problem in a particular context

More Concrete

l

Simple reusable design class such
as a linked list, hash table, etc.

Design Patterns In Java

Introduction To Design Patterns
7

Bob Tarr

GoF Design Patterns
l

l

l

The GoF design patterns are in the middle of these levels of
abstraction“A design pattern names, abstracts, and identifies key aspects of a
common design structure that makes it useful for creating a
reusable object-oriented design.”
The GoF design patterns are “descriptions of communicating
objects and classes that are customized to solve a general design
problem in a particular context.”

Design Patterns In Java

Introduction To Design Patterns
8

BobTarr

GoF Classification Of Design Patterns
l

Purpose - what a pattern does
é

Creational Patterns
Ý

é

Structural Patterns
Ý

é

Deal with the composition of classes and objects

Behavioral Patterns
Ý

l

Concern the process of object creation

Deal with the interaction of classes and objects

Scope - what the pattern applies to
é

Class Patterns
Ý
Ý

é...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • How-To Gendt08 Sk Private 10.Pdf
  • Pdf
  • Pdf
  • PDF que es
  • PDF
  • pdf
  • Pdf
  • Pdf

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS