The N-layer myth and basic dependency injection

Dividing an application in N layers is considered a standard and a best practice. It is often thought that this automatically creates a decoupled application. However, just creating layers doesn't make your code loosely coupled.

A typical N-layer application

Let's take a simple layered application:

Read more:
http://www.kenneth-truyers.net/2013/05/12/the-n-layer-myth-and-basic-dependency-injection/