Alistair Cockburn developed hexagonal architecture, or ports and adapters architecture, and used it for designing software applications. We insert inputs and outputs at the edge of our design with hexagonal architecture. It allows us to isolate the central logic of the application. Since our inputs and outputs are on edge, we can switch their handlers without affecting our core code. Read more about hexagonal architecture design pattern in this article!