Chapter 6

Patterns and Software Architecture

The sign read:‘Hold stick near the centre of its length.Moisten pointed end in mouth.Insert in tooth space, blunt end next to gum.Use gentle in-out motion.’

‘It seemed to me,’ said Wonko the Sane,‘that any civilization that had so far lost its headas to need to include a set of detailed instructionsfor use in a packet of toothpicks,was no longer a civilizationin which I could live and stay sane.’

Douglas Adams, So Long, and Thanks for All the Fish

 

Patterns are an important vehicle for constructing high-quality software architectures. However, several other techniques, methods, and processes for software architecture already exist. How do patterns build on these techniques, methods, and processes, and how do patterns complement them? Do patterns even define the state of the art in software architecture?

In this chapter we discuss how patterns are integrated into the larger field of software architecture. The chapter is not intended to provide a complete survey of software architecture, however.

6.1 Introduction

Before discussing how patterns are integrated with software architecture, we need to characterize our understanding of this field. In this section we therefore briefly discuss some important aspects related to the discipline of software architecture. We give our definitions of the following terms:

  • Software Architecture
  • Component
  • Relationship
  • View
  • Functional Property
  • Non-functional Property
  • Software Design

Software Architecture ...

Get Pattern-Oriented Software Architecture, Volume 1, A System of Patterns now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.