You might be asking yourself at this point of time, how do I switch out different classes such as the
ISettings example? Inversion of Control (IoC) is a design pattern meant to complement the dependency injection and solve this problem. The basic principle is that many of the objects created throughout your application are managed and created by a single class. Instead of using the standard C# constructors for your
Model classes, a service locator or factory class would manage them throughout the application.
There are many different implementations and styles of IoC, so let's implement a simple service locator class to use throughout the remainder of this book as follows:
public static class ServiceContainer ...