Просто добавьте немного того, что опубликовали другие, если вы действительно хотите просто внести одно изменение, рассмотрите статическую фабрику:
public interface IFileStorage
{
void Store(); //parameters if needed
}
public class FileStorage : IFileStorage
{
public void Store(){}
}
public class DatabaseStorage : IFileStorage
{
public void Store(){}
}
Затем укажите перечисление, которое вы сопоставите с конкретными классами:
public enum FileStorageTypes
{
Database,
FileSystem
}
и наконец фабрика:
public static class StorageFactory
{
public static IFileStorage GetStorage(FileStorageTypes types)
{
switch(types)
{
case FileStorageTypes.Database: return new DatabaseStorage();
case FileStorageTypes.FileSystem: return new FileStorage();
}
}
}
Тогда, если у вас есть где-то в вашем коде, что вам нужно сделать некоторую работу с хранилищем:
public void DoStorage(IFileStorage storage)
{
storage.Store();
}
Вы можете просто вызвать этот метод:
DoStorage(StorageFactory.GetStorage(FileStorageTypes.Database));
и при необходимости легко меняйте его.