Skip to Content
Fundamentals of Software Architecture, 2nd Edition
book

Fundamentals of Software Architecture, 2nd Edition

by Mark Richards, Neal Ford
March 2025
Intermediate to advanced
546 pages
14h 40m
English
O'Reilly Media, Inc.
Content preview from Fundamentals of Software Architecture, 2nd Edition

Chapter 8. Component-Based Thinking

In Chapter 3, we introduced the concept of a module as a collection of related code. In this chapter, we dive much deeper into this concept, focusing on the architectural aspect of modularity in terms of logical components—the building blocks of a system.

Identifying and managing logical components is a part of architectural thinking (see Chapter 2), so much so that we call this activity component-based thinking. Component-based thinking is seeing the structure of a system as a set of logical components, all interacting to perform certain business functions. It’s at this level (not the class level) that an architect “sees” the system.

In this chapter, we define logical components within software architecture, how to identify them, and how to arrive at an appropriate level of granularity through analyzing what’s known as cohesion (we define what that means a little later on in this chapter). We also discuss coupling between components and how and why to create loosely coupled systems.

Defining Logical Components

Think about the floor plan of a typical Western house, as illustrated in Figure 8-1. Notice the floor plan is made up of various rooms (such as a kitchen, bedrooms, bathrooms, a living room, an office, and so on), each serving a different purpose. These rooms represent the building blocks—the components—of the house.

House floor plan
Figure 8-1. The ...
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.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Software Architecture Patterns, 2nd Edition

Software Architecture Patterns, 2nd Edition

Mark Richards
Software Architecture: The Hard Parts

Software Architecture: The Hard Parts

Neal Ford, Mark Richards, Pramod Sadalage, Zhamak Dehghani
Software Architecture: The Hard Parts

Software Architecture: The Hard Parts

Neal Ford, Mark Richards, Pramod Sadalage, Zhamak Dehghani

Publisher Resources

ISBN: 9781098175504Errata Page