images/explore-mindset.png

Chapter 6Choose an Architecture (Before It Chooses You)

Every software system has an architecture. That doesn’t mean you’ll end up with one you want. When you leave design decisions to fate, there is no telling what fate will deliver. Actively making decisions about how to organize the software system significantly increases our chances of getting an architecture that meets our needs.

Designing software architecture is all about making decisions under uncertainty. Design decisions are loaded with trade-offs, decisions that force us to compromise—give up something good to avoid something bad, or accept something bad to get something better. ...

Get Design It! 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.