Skip to content
0:00 / 0:00

#fractalarchitecture#encapsulation#cleancode

Fractal Architecture - Mark Seemann - NDC Porto 2022

NDC Conferences

230K subscribers • 110 videos on Hallway • Conference channel

YouTube
  • Recommended by 2 people: 2 in engineering communities.
  • Presented by Mark Seemann
  • An opinion. It argues one side of a question engineers disagree on.

Intermediate. Assumes working knowledge.

11K views4 years ago2 recommendations

Software designSoftware architectureDesign patternsSimplicity and complexity

Mark Seemann explains how to organize code using the principle of self-similarity to make it fit in a developer's head at all levels of abstraction.

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 organised according to that principle of self-similarity. Key to achieve fractal architecture are encapsulation, aggressive thresholds, and referential transparency. Code examples will be in C# - written in a style also readable to developers working in Java, TypeScript, C++, etc. Check out more of our featured speakers and talks at ndcconferences.com ndcporto.com

Why it's here

2 people recommend this

What people say. Recommended as a clean approach to organizing and navigating large codebases by keeping complexity within human cognitive limits.

u/Kurren123in r/dotnet • Recommends

On “Cleaner than CleanCode and VerticalArchitecture: Functional Design”

I think the problem of finding stuff is just generally going to be harder as the codebase gets bigger. Mark Seeman describes something he calls fractal architecture which I quite like. It’s built around making the code as easy to read and navigate as possible.

u/pekuliniin r/dotnet • Recommends

On “Architecture Complexity”

Mark Seeman has a great book called "Code That Fits in Your Head" and in it he posits that no more than seven things should be going on in a single piece of code, as it's the approximate limit of human short term memory. And since "things" is intentionally left vague, I think it can also apply to number of projects. But also, it can be solved differently using solution folders, and you can go for a meaningful folder hierarchy with up to 7 folders per nesting level. He calls this "fractal architecture".