Ports and Adapters Architecture ( Hexagonal Architecture )
“Allow an application to equally be driven by users, programs, automated test or batch scripts, and to be developed and tested in isolation from its eventual run-time devices and databases.”
Alistair Cockburn 2005, Ports and Adapters
More info: Ports & Adapters Architecture