Skip to Content
Fundamentals of Software Architecture
book

Fundamentals of Software Architecture

by Mark Richards, Neal Ford
January 2020
Beginner
432 pages
11h 26m
English
O'Reilly Media, Inc.
Audiobook available
Content preview from Fundamentals of Software Architecture

Chapter 8. Component-Based Thinking

In Chapter 3, we discussed modules as a collection of related code. However, architects typically think in terms of components, the physical manifestation of a module.

Developers physically package modules in different ways, sometimes depending on their development platform. We call physical packaging of modules components. Most languages support physical packaging as well: jar files in Java, dll in .NET, gem in Ruby, and so on. In this chapter, we discuss architectural considerations around components, ranging from scope to discovery.

Component Scope

Developers find it useful to subdivide the concept of component based on a wide host of factors, a few of which appear in Figure 8-1.

Components offer a language-specific mechanism to group artifacts together, often nesting them to create stratification. As shown in Figure 8-1, the simplest component wraps code at a higher level of modularity than classes (or functions, in nonobject-oriented languages). This simple wrapper is often called a library, which tends to run in the same memory address as the calling code and communicate via language function call mechanisms. Libraries are usually compile-time dependencies (with notable exceptions like dynamic link libraries [DLLs] that were the bane of Windows users for many years).

Figure 8-1. Different varieties of components

Components also appear ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Software Architecture Fundamentals, Second Edition

Software Architecture Fundamentals, Second Edition

Neal Ford, Mark Richards
Head First Software Architecture

Head First Software Architecture

Raju Gandhi, Mark Richards, Neal Ford
Software Architecture: The Hard Parts

Software Architecture: The Hard Parts

Neal Ford, Mark Richards, Pramod Sadalage, Zhamak Dehghani

Publisher Resources

ISBN: 9781492043447Supplemental ContentErrata Page