Chapter 3. Component-Based Thinking
In Chapter 2, 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 1), 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 ...
Get Fundamentals of Software Architecture, 2nd Edition 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.