A modern application architecture

This repository contains a description and an example implementation examples of the Entity—Boundary—Interactor (EBI) application architecture, derived from ideas initially conceived by Uncle Bob in his series of talks titled Architecture: The Lost Years and his book.

The EBI architecture is a modern application architecture suited for a wide range of application styles. It is especially suitable for web application APIS, but the idea of EBI is to produce an implementation agnostic architecture, it is not tied to a specific platform, application, language or framework. It is a way to design programs, not a library.

The name Entity–Boundary—Interactor originates from a master’s thesis where this architecture is studied in depth. Names that are common or synonymous are EBC where C stands for Controller.

Examples of how to implement the architecture are given in this document and are written in Elixir, a dynamically typed language with a simple and powerful syntax.


This is still very much a work in progress. Contributions are welcome on Github.