The secret to software architecture: Don’t cross the streams. — Uncle Bob Martin, on Twitter
The secret to software architecture:— Uncle Bob Martin (@unclebobmartin) July 22, 2021
Don’t cross the streams.
Software architecture is the art of drawing lines that I call boundaries. Those boundaries separate software elements from one another, and restrict those on one side from knowing about those on the other. Some of those lines are drawn very early in a project’s life—even before any code is written. Others are drawn much later. Those that are drawn early are drawn for the purposes of deferring decisions for as long as possible, and of keeping those decisions from polluting the core business logic.
— Uncle Bob Martin, “Clean Architecture: A Craftsman’s Guide to Software Structure and Design”
I have also blogged about this a few years ago, here.
“[Software] Architecture is the art of drawing lines, with the interesting rule that once you have drawn the lines, all the dependencies that cross that line go in the same direction.”
— Uncle Bob Martin, “Architecture: The Lost Years (Ruby Midwest 2011)”
“A Little Architecture” by Robert C. Martin (Uncle Bob)
“Screaming Architecture” by Robert C. Martin (Uncle Bob)
“Clean Architecture” by Robert C. Martin (Uncle Bob)
“The Clean Architecture” by Robert C. Martin (Uncle Bob)
“The Single Responsibility Principle” by Uncle Bob Martin
“Single Responsibility Principle – do you know the real one?” by Bartosz Jedrzejewski
“The Single Responsibility Principle” by Juan Orozco Villalobos
In the video “Architecture without Architects” by Erik Dörnenburg, it was suggested that “Town Planning” or “Gardening” are better metaphors than “Architecture” for this activity in software we now refer to as “architecture”