Skip to content

Instantly share code, notes, and snippets.

@bestie
Last active December 16, 2015 21:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bestie/5503849 to your computer and use it in GitHub Desktop.
Save bestie/5503849 to your computer and use it in GitHub Desktop.
Explains the relationships between components in a system with and EBI entity, boundary, interactor architecture. This covers the front end boundaries (request / response for web apps) and leaves out the backend or persistence.

Uncle Bob's EBI Diagram Explained

Front end of EBI system

Interactors are objects that encapsulate a use-case (create user, delete post, etc) they contain application logic.

Entities contain core domain logic and have no knowledge of the interactors.

The delivery mechanism runs your application. This could be a web framework, command line interface or desktop application.

The delivery mechanism implements the interface of the response boundary.

Boundaries represent interfaces rather than concrete classes.

Interactors implement the interface of the request boundary.

Interactors are send messages to (have knowledge of)

  • Entities
  • Boundaries

The delivery mechanism sends messages to the interactor via the request boundary interface.

Interactors send messages to the the delivery mechanism via the response boundary interface.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment