<p><b>What will you learn from this book?</b></p><p>If you're a software developer looking for a quick on-ramp to software architecture, this handy guide is a great place to start. From the authors of Fundamentals of Software Architecture, <i>Head First Software Architecture</i> teaches you how to t
Head First Software Architecture A Learner's Guide to Architectural Thinking (3rd Early Release)
β Scribed by Raju Gandhi, Mark Richards, and Neal Ford
- Publisher
- O'Reilly Media, Inc.
- Year
- 2023
- Tongue
- English
- Leaves
- 550
- Edition
- 3
- Category
- Library
No coin nor oath required. For personal study only.
β¦ Synopsis
If you're a software developer looking for a quick on-ramp to software architecture, this handy guide is a great place to start. From the authors of Fundamentals of Software Architecture, Head First Software Architecture teaches you how to think architecturally and explores the unique challenges of software architecture. You'll learn the distinction between architecture and design and the relationship between code, components, and architectural styles. You'll also learn how to work with some common architectural styles through vivid, fun examples. Quick, easy, and entertaining, this book is a valuable introduction to the world of software architecture.
β¦ Table of Contents
- Software Architecture Demystified: Letβs Get Started!
Building your understanding of software architecture
Building plans and software architecture
The dimensions of software architecture
Puzzling out the dimensions
Everything is interconnected.
The first dimension: Architectural characteristics
The second dimension: Architectural decisions
BE the architect
The third dimension: Logical components
The fourth dimension: Architectural styles
No, architecture and design are different.
A design perspective
An architectural perspective
The spectrum between architecture and design
Where along the spectrum does your decision fall?
Is it strategic or tactical?
How much effort will it take to construct or change?
Does it have significant trade-offs?
Strategic versus tactical
High versus low levels of effort
Code Magnets
Significant versus less significant trade-offs
Putting it all together
You made it!
Software Architecture Crossword
BE the architect solution
Code Magnets Solution
Software Architecture Crossword Solution - Architectural Characteristics: Putting the βFunctionβ into Nonfunctional
Laffter, the best medicine?
Cubicle Conversation
What are architectural characteristics?
Defining architectural characteristics
Part 1: A non-domain design consideration
Part 2: An influence on the structure
Part 3: Important
Overengineering is Too Easy
Explicit versus implicit
The International Zoo of ββilitiesβ
Process architectural characteristics
Structural architectural characteristics
Operational architectural characteristics
Cross-cutting architectural characteristics
The problem domain
Environmental awareness
Holistic domain knowledge
Solution versus problem
Composite architectural characteristics
Priorities are Contextual
Congratulations, you have yet another job.
Lost in Translation
More requirements are NOT better.
Balancing domain and architectural characteristics
Limiting architectural characteristics
The Magic Number 7 - Everythingβs a Trade-off: The Two Laws of Software Architecture
It starts with a sneaker app
What do we know so far?
Having the trading service communicate with downstream services
Analyzing trade-offs
Trade-off analysis: Queue edition
Trade-off analysis: Topic edition
The first law of software architecture
It always comes back to trade-offs
Making an architectural decision
What else makes a decision architectural?
The second law of software architecture
Architectural Decision Records (ADRs)
Cubicle conversation
Writing ADRs: Getting the title right
Writing ADRs: Whatβs your status?
Writing ADRs: Whatβs your status? (recap)
Writing ADRs: Establishing the context
Writing ADRs: Writing the decision
Writing ADRs: Considering the consequences
Writing ADRs: Ensuring governance
Writing ADRs: Closing notes
The benefits of ADRs
Two Many Sneakers is a success
The βtwo lawsβ crossword
The βtwo lawsβ crossword solution - Logical Components: The building blocks
Logical components revisited
Adventurous Auctions goes online
Hereβs what the new system needs to do:
Logical versus physical architecture
Creating a logical architecture
Step 1: Identifying initial core components
Workflow approach
Actor/Action approach
The entity trap
Step 2: Assigning requirements
Step 3: Analyze Roles and Responsibilities
Sticking to cohesion
Step 4: Analyze characteristics
BE the architect
Our solution...
Component coupling
Afferent coupling
Efferent coupling
Measuring Static Coupling
Law of Demeter
Law of Demeter Applied
Too much knowledge?
A balancing act
Some final words about components
Software Architecture Crossword
Head First Software Architecture, Chapter 4
Head First Software Architecture, Chapter 4
π SIMILAR VOLUMES
What will you learn from this book? If you're a software developer looking for a quick on-ramp to software architecture, this handy guide is a great place to start. From the authors of Fundamentals of Software Architecture, Head First Software Architecture teaches you how to think architecturally a
If you're a software developer looking for a quick on-ramp to software architecture, this handy guide is a great place to start. From the authors of Fundamentals of Software Architecture, Head First Software Architecture teaches you how to think architecturally and explores the unique challenges of
Want to learn the Python language without slogging your way through how-to manuals? With Head First Python, you'll quickly grasp Python's fundamentals, working with the built-in data structures and functions. Then you'll move on to building your very own webapp, exploring database management, except
Do you have an abundance of data but don't know how to make sense of it? Do you want to gain useful insights from your data, but you're not sure where to begin? Mining data is a vital, well-paying skill, and SQL provides the most fundamental way to query and manage data. But learning SQL can be inti
What will you learn from this book? Ready to learn Java? This book combines puzzles, strong visuals, mysteries, and soul-searching interviews with famous Java objects to engage you in many different ways. It's fast, it's fun, and it's effective. And despite its playful appearance, Head First Java