306x Filetype PDF File size 2.49 MB Source: www.dre.vanderbilt.edu
Mo 2
January 21-25, 2008, Munich, Germany
ICM - International Congress Centre Munich
Pattern-Oriented Software Architecture
Frank Buschmann
Kevlin Henney
E
R
U
T
E C
T Pattern-Oriented
R C H I
A Software Architecture
R E
A
W
T
O F
O F S
F T
A
H E C R
T
Kevlin Henney Frank Buschmann
Kevlin Henney Frank Buschmann
Curbralan Limited Siemens AG
Curbralan Limited Siemens AG
kevlin@curbralan.com frank.buschmann@siemens.com
kevlin@curbralan.com frank.buschmann@siemens.com
E
Agenda
C H I T E C T U R
R Introduction
R E A
W A Stand-Alone Patterns
E D S O F T Pattern Complements / Pattern Compounds
R I E N T Pattern Stories / Pattern Sequences
O
Pattern Languages
T T T E R N – Outroduction
P A
References
Pattern-Oriented Software Architecture 2 ©Frank Buschmann, Kevlin Henney, all rights reserved
1
E
Where we are
C H I T E C T U R
R Introduction
R E A
W A Stand-Alone Patterns
E D S O F T Pattern Complements / Pattern Compounds
R I E N T Pattern Stories / Pattern Sequences
O
Pattern Languages
T T T E R N – Outroduction
P A
References
Pattern-Oriented Software Architecture 3 ©Frank Buschmann, Kevlin Henney, all rights reserved
E
On Designing with Patterns (1)
C H I T E C T U R
R Patterns have become a popular tool in software design …
R E A They have changed the way software developers
W A think about and practice software design
E D S O F T They provide us with a software design vocabulary
They help us to resolve recurring problems
R I E N T constructively and based on proven solutions
O They support us in understanding the architecture
of a given software system
T T T E R N – ...
P A
But: applying patterns in software design is not necessarily
designing with patterns!
Pattern-Oriented Software Architecture 4 ©Frank Buschmann, Kevlin Henney, all rights reserved
2
E
On Designing with Patterns (2)
C H I T E C T U R
R Patterns applied in isolation and as modular building blocks do
R E A not create sustainable designs. Command
W A Processor
Solutions
Client Command Logging Logging
E D S O F T Fail to consider the surrounding Processor Context Strategy
problems and their solutions.
Component * Concrete
Have at best only local effects. Logging
R I E N T Strategy
O
Do not complement one another Composite Strategy
Leaf Composite
or mutually reinforce their n
ig
s
e
T T T E R N – beneficial properties. or D
P A Po Memento
Create complex architectures Command Caretaker
that lack useful operational and
developmental qualities. Concrete Concrete
Command Command Memento
Command
Application
Pattern-Oriented Software Architecture 5 ©Frank Buschmann, Kevlin Henney, all rights reserved
E
On Designing with Patterns (3)
C H I T E C T U R
R There are two fundamental ways of integrating patterns:
R E A Refinement: One pattern refines the structure and behavior of another
W A pattern to address a specific sub-problem or implementation detail.
E D S O F T Combination: Two or more patterns arranged to form a larger structure
that addresses a more complex problem.
R I E N T
O There are also relationships regarding choice:
T T T E R N – Alternatives: Some patterns describe alternatives to one another. They
P A address the same or a similar problem, but each pattern considers a slightly
different set of forces. Thus, the patterns provide different solutions and have
different consequences.
Cooperation: Some patterns nicely complement one another, mutually
reinforcing their structural and behavioral properties.
Pattern-Oriented Software Architecture 6 ©Frank Buschmann, Kevlin Henney, all rights reserved
3
no reviews yet
Please Login to review.