Patterns of Compositional Architecture


Chad Myer’s most recent series of posts have inspired me to start writing. A lot. My most recent focus and passion has been concentrated on the Fubu Family of frameworks. After doing some reflecting, I’ve begun to discover a common barrier of entry for new users of these projects – a missing link, if you will.

You see, there are patterns in play in the Fubu family that take advantage of static typing. These patterns promote highly compositional designs that make the most out of the language features found in C#. We’ve been focusing on documenting the capabilities of these frameworks but I believe that the missing link is the understanding of these patterns.


These “patterns” are not “formal patterns” that you would find in a book. I’m simply cataloging common approaches that we use.

The Format

Each item will be presented with an overall description, a very basic example, and then I will describe how we use it in the Fubu Family of frameworks.

Patterns of Compositional Architecture

In an effort to close this gap, this series will cover the patterns that we employ and how they’ve benefited us and the frameworks:

  1. Policies – Compositional Strategies
  2. Domain-Specific-Languages
    1. Semantic Models
    2. Registries
    3. Conventions
    4. Wrap Up
  3. Chain of Responsibility
Good introduction to FubuMVC Authorization from Rex Morgan