The Data Source Abstraction Pattern: One Interface, Multiple Backends

Introduction