With my latest post, learn how to create SOLID systems by applying common software development principles to layered software architectures – SOLID Systems Using Boundary Interfaces
https://magenic.com/thinking/solid-systems-using-boundary-interfaces