Skip to main content

Design Patterns and Architecture

  • Chapter
  • First Online:
Practical Software Development Techniques
  • 1480 Accesses

Abstract

The term “Design Pattern” in software engineering refers to a known arrangement of software components that solves a particular problem. These structures provide both a known terminology and known implementation such that once the particular problem is identified, the known structure can be applied. One of the earliest formal definitions of software patterns is detailed in Design Patterns: Elements of Reusable Object-Oriented Software (Gamma et al., 1994), sometimes referred to as the “Gang of Four” (GoF) because of the four original authors. That work has been the inspiration for several updated and language-specific books. In this section we will briefly cover a few GoF patterns to demonstrate the terminology and as an introduction to thinking in patterns. We will then talk about some of the more prevalent patterns in use today in the highly distributed world. Finally we will cover some architectural patterns that are common in large distributed systems and hardware farms that are built for performance and resiliency.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 49.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Edward Crookshanks

About this chapter

Cite this chapter

Crookshanks, E. (2014). Design Patterns and Architecture. In: Practical Software Development Techniques. Apress, Berkeley, CA. https://doi.org/10.1007/978-1-4842-0728-4_7

Download citation

Publish with us

Policies and ethics