Implementing a Persistence Adapter
In Chapter 2, What's Wrong with Layers? I complained about a traditional layered architecture and claimed that it promotes database-driven design because, ultimately, everything depends on the persistence layer. In this chapter, we’ll have a look at how to make the persistence layer a plugin to the application layer to invert this dependency.