Architectural patterns

From CSSEMediaWiki
(Difference between revisions)
Jump to: navigation, search
m (Architectural patterns)
m (Reverted edits by Ebybymic (Talk); changed back to last version by Nelson Shaw)
 
(3 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
[[Category:Patterns]]
 
[[Category:Patterns]]
== Architectural patterns ==
 
  
Architectural patterns describe how to structure a whole application, or an important aspect of it.  Compared to design patterns, architectural patterns describe larger and more abstract software structures.  (Design patterns are sometimes called "micro-architectures" to emphasise the difference in scale.)
+
=== Definition ===
  
The groundwork for architectural patterns was laid by [[Party of five 1996]], who described architectural patterns, design patterns and idioms.
+
Architectural patterns describe how to structure a whole application, or an important aspect of it.  It is not necessarily an architecture, but a concept that solves and delineates some essential cohesive elements of a software architecture. Many different architectures may implement the same pattern, and as such have a number of related characteristics.
  
[[Martin Fowler 1997]] also touched on architectural patterns by describing 2-tier, 3-tier and n-tier architectures, and by raising the topic of how to structure applications that depend on databases.
+
=== Relation to design patterns ===
  
[[Martin Fowler 2003]] greatly expands on his earlier architectural patterns ideas, emphasising layered systems, distribution, web interfaces and databases.  These topics are sometimes known as "enterprise architecture" or "enterprise patterns".
+
Compared to design patterns, architectural patterns describe larger and more abstract software structures.  (Design patterns are sometimes called "micro-architectures" to emphasise the difference in scale.)
 +
The groundwork for architectural patterns was laid by [[Party of five 1996]], who described architectural patterns, design patterns and idioms. [[Martin Fowler 1997]] also touched on architectural patterns by describing 2-tier, 3-tier and n-tier architectures, and by raising the topic of how to structure applications that depend on databases. [[Martin Fowler 2003]] greatly expands on his earlier architectural patterns ideas, emphasising layered systems, distribution, web interfaces and databases.  These topics are sometimes known as "enterprise architecture" or "enterprise patterns".
  
Fowler's web site has a list of [[http://www.martinfowler.com/articles/enterprisePatterns.html|catalogs of enterprise patterns]].
+
Fowler's web site has a list of [http://www.martinfowler.com/articles/enterprisePatterns.html|catalogs of enterprise patterns].
 +
 
 +
=== Architecture Patterns ===
 +
* [[Datamart]]
 +
* [[Operational Data Store (ODS)]]
 +
* [[ETL ( Data Extraction Transformation & Loading)]]
 +
* [[Layers]]
 +
* [[Model View Controller]]
 +
* [[Presentation Abstraction Control]]
 +
* [[Multitier architecture]]
 +
* [[Pipe and filter architecture]]
 +
* [[Implicit Invocation]]
 +
* [[Blackboard System]]
 +
* [[Peer To Peer]]
 +
* [[Service Oriented Architecture]]
 +
* [[Naked objects]]
  
Some patterns predate OOD, the most well known of these patterns is the [[Model View Controller]].
 
  
 
== See also ==
 
== See also ==

Latest revision as of 03:11, 25 November 2010


Contents

Definition

Architectural patterns describe how to structure a whole application, or an important aspect of it. It is not necessarily an architecture, but a concept that solves and delineates some essential cohesive elements of a software architecture. Many different architectures may implement the same pattern, and as such have a number of related characteristics.

Relation to design patterns

Compared to design patterns, architectural patterns describe larger and more abstract software structures. (Design patterns are sometimes called "micro-architectures" to emphasise the difference in scale.) The groundwork for architectural patterns was laid by Party of five 1996, who described architectural patterns, design patterns and idioms. Martin Fowler 1997 also touched on architectural patterns by describing 2-tier, 3-tier and n-tier architectures, and by raising the topic of how to structure applications that depend on databases. Martin Fowler 2003 greatly expands on his earlier architectural patterns ideas, emphasising layered systems, distribution, web interfaces and databases. These topics are sometimes known as "enterprise architecture" or "enterprise patterns".

Fowler's web site has a list of of enterprise patterns.

Architecture Patterns


See also

Personal tools