Skip to content

Commit a676d5b

Browse files
author
CHANGE_ME
committed
docs: flesh out software architecture concept page
Made-with: Cursor
1 parent 8b8aec7 commit a676d5b

1 file changed

Lines changed: 26 additions & 0 deletions

File tree

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
logseq-entity:: [[Logseq/Entity/concept]]
2+
alias:: [[Software Architecture]], [[Software/Architecture]]
3+
see-also:: [[C4]], [[Architecture/Decision/Record]], [[Structurizr]]
4+
5+
- # Software architecture
6+
- ## Overview
7+
- **Software architecture** names the **major structures** of a software system—the **parts**, their **responsibilities**, and the **rules** governing how they relate—so that the system stays **understandable**, **evolvable**, and **fit for its quality goals** (performance, security, operability, cost, etc.).
8+
- It is not only **diagrams**; it is the set of **decisions** that are costly to reverse plus the **shared mental model** a team uses when changing the system.
9+
- ## Context
10+
- Sits between **product intent** and **implementation detail**: narrower than “everything about the system,” broader than a single module or framework choice.
11+
- Overlaps with **design** and **engineering leadership**; in many organisations, “architecture” highlights **cross-cutting** or **long-lived** choices (integration, data ownership, deployment shape, failure modes).
12+
- Common **views** and notations include the **[[C4]]** model, ADRs (**[[Architecture/Decision/Record]]**), and architecture-as-code tools such as **[[Structurizr]]**—each answers different audiences and lifecycles.
13+
- ## Key principles
14+
- **Stakeholder fit** — Architecture is **good** only relative to stated **drivers** (latency, compliance, team topology, time-to-market); there is no universal “best” shape.
15+
- **Constraints and trade-offs** — Prefer explicit **trade-off** language over buzzwords; every important gain usually costs something elsewhere.
16+
- **Integrity over time** — Guard **boundaries**, **interfaces**, and **invariants** so incremental work does not silently erode the model.
17+
- ## Mechanism
18+
- Practitioners capture architecture through **models** (structural, deployment, runtime), **records** (ADRs, RFCs), **reviews**, and **linting or validation** in code when possible.
19+
- **Refactoring** and **strangling** legacy areas are architecture work as much as greenfield diagrams.
20+
- ## Examples
21+
- Choosing **sync vs async** integration between bounded areas; defining **service** or **module** boundaries aligned with team ownership.
22+
- Publishing a **container-level** diagram for onboarding and incident response; using **C4** context + container views as the default communication set.
23+
- ## Misconceptions
24+
- “**Architecture = ivory tower before coding**” — **Often false**; healthy architecture is **continuously** refined as the system and risks become visible.
25+
- “**One UML diagram is enough**” — **Usually insufficient**; different stakeholders need **different abstractions** (see **[[C4/Diagram]]** for a structured split).
26+
- “**Microservices = good architecture**” — **Oversimplified**; distribution is a **cost** you pay for specific scaling or organisational goals, not a quality in itself.

0 commit comments

Comments
 (0)