.NET and C# Diagrams
Build Time and Run Time
FlowWhere IL becomes native code under JIT, ReadyToRun, and Native AOT.
Direct Dependency Wins and Cousin Dependencies
Dependency graphTwo graph shapes that both resolve Package B to 2.0.0 by different rules.
One Load Context per Plugin
StructureTwo plugins loading different Contoso.Data versions beside a shared contract.
One Instant, Three Wall Clocks
StructureA single UTC instant read as three different local times.
Spring Forward and Fall Back
FlowNew York's clock skipping an hour in March and repeating one in November.
What await Does to the Caller
C4 · DynamicAn async method running synchronously, returning a task, then resuming later.
Thread Pool Queues
StructurePer-worker local queues, one global queue, and idle workers stealing.
A Bounded Channel Pipeline
FlowFour concurrent stages joined by bounded channels that push back when full.
How a Deferred Query Pulls Elements
C4 · DynamicEach element travelling the whole chain before the next is read.
Where the Filtering Happens
FlowAn IQueryable sending one query, against an IEnumerable pulling every row.
Entity States in the Change Tracker
State machineThe five tracking states and the calls that move an entity between them.
The Root Provider and Its Scopes
StructureWhich provider holds each instance, and where a singleton's scoped dependency ends up.
What an HttpClient Owns
StructureHttpClient settings over a handler chain over a pool of long-lived connections.
The Delegating Handler Chain
FlowHandlers nested in registration order, request inward and response outward.
Local and Distributed Cache Layers
StructureA private cache per instance over one shared store over the source.
From ILogger to Providers
FlowOne logging call passing through a category and filter rules to several providers.
PeriodicTimer Ticks Around Slow Work
FlowA fixed 100 ms cadence where one 350 ms run swallows three ticks.
I2C Bus Versus SPI Chip Selects
StructureOne addressed two-wire bus, against shared SPI wires plus a select line per device.
How xUnit Runs Tests in Parallel
FlowOne lane per test collection by default, against every test case in parallel.
VSTest Versus Microsoft.Testing.Platform
FlowA separate runner loading a test library, against a self-hosting test app.
How the Diagnostic Tools Reach a Process
StructureFour tools connecting through one diagnostic port into the runtime.
The Shape of a Memory Leak
ChartHeap size over time, with a level floor when healthy and a rising one when leaking.
Found this useful? Share it:
Share on LinkedIn