Fractal Software Architecture

Why is software development so difficult? A major reason is that you spend more time reading than writing code. If you can decrease the time required to read existing code, you can increase productivity. You can decrease the time you waste reading complicated code by writing code that’s easy to read – code that fits in your head.

Code should fit in your head at all levels of abstraction. At the entry point, at the business logic level, and at the lowest levels of detail. This is fractal architecture – code that is organized according to that principle of self-similarity.

The keys to develop a fractal software architecture are encapsulation, aggressive thresholds, and referential transparency. Code examples in this talk are written in C# in a style also readable to developers working in Java, TypeScript, C++, etc.

Video producer:

Further reading on Fractal Software Architecture:
* Fractal Architectures: A Software Craftsman’s take to Infrastructure as Code
* Fractal Architecture
* Fractal Architecture