Topic
Architecture
How a system is divided into layers, where each responsibility belongs, and what may legitimately depend on what.
5 pages
Writing25 September 2026
Clean Abstractions Around Libraries
A library boundary owns the application's contract even when its terms match the library's. It contains provider types, validation, failures, and configuration, and keeps replacement possible.
Chapter20 September 2017
Architecture Layers in C#
Structure communicates intent: strict layers from Domain Facade to Gateway, internal by default with a public surface the compiler enforces, and folder depth that marks each class's level of abstraction.
Chapter20 September 2017
Architecture Layers in Python
Structure communicates intent: strict layers from Domain Facade to Gateway, a public surface declared in the boundary __init__.py, and folder depth that marks each class's level of abstraction.
Chapter20 September 2017
Validation and Exception Handling in C#
Where validation belongs and where it does not, exception design that fails fast and visibly, message quality, and logging that preserves the failure.
Chapter20 September 2017
Validation and Exception Handling in Python
Lock the front door and the back doors, fail fast and visibly, exception messages that carry diagnostic context, and a logging policy that does not swallow failure.