1. Architectural styles and patterns
1
Dr. Himanshu Hora
SRMS College of Engineering & Technology, Bareilly
INDIA
2. 2
Architecture is a high level description of a solution to a
problem
architecture (high level design) includes-
1. Main Components
Functionalities and properties of components
2. Major Relations
Components collaborating among the components
What is architecture ?
3. 3
An architectural style, sometimes called an architectural
pattern
It provides an abstract framework for a family of
systems
An architectural style improves partitioning and
promotes design reuse by providing solutions to
frequently recurring problems
What is Architectural Style ?
4. 4
An Architectural Style defines a set of rules that
describe:
- The way in which the components interact
CATEGORY ARCHITECTURAL STYLE
Communication Service-oriented architecture(SOA),
Message Bus
Deployment Client/server, N-tier, 3-tier
Domain Domain driven design
Structure Component Based ,Object -Oriented,
Layered Architecture
What is Architectural Style ?
5. 5
• architecture styles and patterns as sets of
principles that shape an application
• some architectural styles describe deployment
patterns, some describe structure and design
issues, and others describe communication
factors
What is Architectural Style ?
6. The Definition of Architecture Styles
6
R. N. Taylor, N. Medvidović and E. M. Dashofy,
Software Architecture: Foundations, Theory and Practice. Wiley, 2009.
“An architectural style is a named collection of
architectural design decisions that (1) are applicable
in a given development context, (2) constrain
architectural design decisions that are specific to a
particular system within that context, and (3) elicit
beneficial qualities in each resulting system.”
7. 7
An architectural pattern is a general, reusable
solution to a commonly occurring problem in
software architecture within a given context
Architectural patterns are often documented as
software design pattern
What is Architectural Patterns?
8. 8
An architecture pattern is determined by-
1)A set of element types(such as data repository or a
component)
2)A topological layout of the element indicating their
interrelationships
3)A set of semantic constraints(e.g. filters in a pipe-and-
filter style )
4)A set of interaction mechanisms that shows how the
elements coordinate through the allowed topology.
What is Architectural Patterns?
9. Figure- A small catalog of architectural patterns organized by is-a-relation
10. 10
R. N. Taylor, N. Medvidović and E. M. Dashofy,
Software architecture: Foundations, Theory and Practice. Wiley, 2009.
"An architectural pattern is a named
collection of architectural design decisions
that are applicable to a recurring design
problem, parameterized to account for
different software development contexts in
which that problem appears “
The Definition of Architecture pattern
11. 11
The main difference is that a pattern can be
seen as a solution to a problem, while a style is
more general and does not require a problem to
solve for its appearance.
Difference between Pattern and Styles