Software Engineering

Dependency Inversion Using Ports and Adapters

Over time core business logic of an application becomes tightly coupled with various libraries, frameworks and technologies making it harder to evolve and test. It becomes challenging for long lasting product that needs to keep up with changing customer needs and evolution of technology.  Ports and Adapters Architecture (Alistair Cockburn), also known as Hexagonal and Plug-in architecture, can help by

  • Decoupling application’s core business logic from the services it uses.
  • Allowing different services to be plugged in.
  • Allowing the application to be run without these services.
  • Allowing it to become framework agnostic.