This sounds to me like the old hexagonal architecture [1]
[1] https://en.wikipedia.org/wiki/Hexagonal_architecture_(softwa...
[1] https://en.wikipedia.org/wiki/Hexagonal_architecture_(softwa...
[0]: https://www.destroyallsoftware.com/talks/boundaries
[1]: https://www.destroyallsoftware.com/screencasts/catalog/funct...
Hex is kind of a PITA for ground up projects, but if you are doing something where you know multi-platform/cloud/device whatever is important it is cool.