Metadata

Highlights

  • Driver Ports API offered by the application
  • Driven Ports SPI required by the application
  • Ports and Adapters is an Object Structural Pattern coined by Dr. Alistair Cockburn, in an article he wrote in 2005.
  • Ports & Adapters pattern says nothing about the structure of the inside of the hexagon.
  • Ports are interfaces that the application offers to the outside world for allowing actors interact with the application.
  • ports belong to the application.
  • Adapters are outside the application.
  • For each driver port, there should be at least two adapters: one for the real driver that is going to run it, and another one for testing the behaviour of the port.
  • What an adapter does in the end is to convert an interface into another, so we could use the Adapter Design Pattern to implement it.
  • Which adapter to use for each port is something that is configured at application startup.
  • Besides these elements, there will be a Composition Root