Я хорошо познакомился с внедрением зависимостей и возможностями слабосвязанных компонентов. Когда я попытался улучшить или развить это в образовательных целях, я наткнулся на проблему:
public interface IReader<TParameter, TOutput>
{
TOutput Read(TParameter parameter);
}
public class Customer : IReader<int, CustomerModel>
{
public CustomerModel Read(int parameter)
{
// Implementation...
}
}
Проблема возникает, когда вы пытаетесь использовать внедрение зависимостей. Я попытался:
public class Reader<TParameter, TOutput>
{
private IReader<TParameter, TOutput> reader;
public Reader(IReader<TParameter, TOutput> reader)
{
// Link through Constructor...
}
}
Это не работает, но как на данном этапе можно реализовать и выполнить внедрение зависимостей, когда на этом уровне задействован общий объект? Это вообще возможно?