How is this different from a layered architecture that's been the standard of enterprise applications for the last 15 years?
If you realign the boxes in your "staircase" to go in a straight vertical line you basically get a layered architecture diagram. Controller -> Service -> Repo -> DB
If you like these ideas I suggest you check out Patterns Of Enterprise Application Architecture by Martin Fowler and Domain Driven Design by Eric Evans.
Yes, exactly! This is a strategy you could use in the context of creating a layered architecture.
It's a tactical way to implement the layered architecture in a way that's truly decoupled.
A lot of folks could think that just because they have three distinct projects for UI, Biz logic, and Data, that they have implemented proper layering, not realizing that the literal dependencies between classes is quite important.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.