Я только что видел ответ здесь о SO ( В чем разница между слабой связью и сильной связью в объектно-ориентированной парадигме? ), где для демонстрации тесной связи был показан следующий код:
class CustomerRepository
{
private readonly Database database;
public CustomerRepository(Database database)
{
this.database = database;
}
public void Add(string CustomerName)
{
database.AddRow("Customer", CustomerName);
}
}
class Database {
public void AddRow(string Table, string Value) { }
}
Но так ли это на самом деле? Я бы сказал, что это пример инжектора конструктора и, следовательно, вообще не жесткой связи. Даже статья в Википедии о DI перечисляет этот случай, поэтому я не понимаю, почему за этот ответ так проголосовали.