Если вы берете классический пример автомобиля.Вы можете пройти обычную процедуру покупки автомобиля и взять колеса, которые производитель дает вам:
public class Fifteens
{
public void Roll() { Console.WriteLine("Nice smooth family ride..."); }
}
public class Car
{
Fifteens wheels = new Fifteens();
public Car() { }
public void Drive() { wheels.Roll; }
}
Затем:
Car myCar = new Car();
myCar.Drive() // Uses the stock wheels
Или вы можете найти изготовителя автомобиля на заказ, который позволяет вамточно укажите, какой тип колеса вы хотите использовать в своем автомобиле, при условии, что они соответствуют характеристикам колеса:
public interface IWheel
{
void Roll();
}
public class Twenties : IWheel
{
public void Roll() { Console.WriteLine("Rough Ridin'...");
}
public class Car
{
IWheel _wheels;
public Car(IWheel wheels) { _wheels = wheels; }
public void Drive() { wheels.Roll(); }
}
Затем:
Car myCar = new Car(new Twenties());
myCar.Drive(); // Uses the wheels you injected.
Но теперь вы можете ввестилюбой вид колеса вы хотите.Имейте в виду, что он является лишь одним из видов внедрения зависимостей (конструктор), но он служит одним из самых простых примеров.