Ports and Adapters Architecture (Ports (Types (Inbound (Define how the…
Ports and Adapters Architecture
Define the core's view of the outside world
The interface the core need to communicate with the outside world.
Define how the core business logic can be used.
Only part of the core exposed to outside world.
Defines the exposure of the core's functionality.
Like a gateway
Allows the entry or exiting of data to and from the application
Transform an interface into another
Primary / Driving Adapters
Represents the UI (API controllers, Web controllers, and views)
They drive the application and start actions in the core application
These adapters can use the inbound ports (interfaces) provided by the core application.
Secondary / Driven Adapters
Represent the connection to your back-end databases, external libraries, mail APIs, etc.
They react to actions initiated by the primary adapters
They are implementations of the outbound ports
They depend on interfaces of these external libraries and tools to transform them, so the core application can use these without being coupled to them.
Isolate the business logic from the delivery mechanics and tools used by the system.
All dependencies are in the direction of the core application. The core itself does not depend on anything.
"Ports and Adapters Architecture" July 19, 2018 Jeffrey