Hexagonal architecture
alistair.cockburn.us
alistair.cockburn.us
Intent: 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.
Alternate description of the pattern plus comments: http://c2.com/cgi/wiki?HexagonalArchitecture
Another page about it, also couldn't get to the linked article.
[1]: http://fideloper.com/hexagonal-architecture , see "Why A Hexagon"
It's largely passed now and CQRS has as well, its fun to watch though.
My (small) research on hexagonal architecture looks like devices are accessed through generalized mechanisms and input/output is accessed through generalized mechanisms so the code is agnostic about certain kinds of implementation details.