Я смотрю на инъекцию depency, я вижу преимущества, но у меня возникают проблемы с синтаксисом, который он создает. У меня есть этот пример
public class BusinessProducts
{
IDataContext _dx;
BusinessProducts(IDataContext dx)
{
_dx = dx;
}
public List<Product> GetProducts()
{
return dx.GetProducts();
}
}
Проблема в том, что я не хочу писать
BusinessProducts bp = new BusinessProducts(dataContextImplementation);
Я бы продолжал писать
BusinessProducts bp = new BusinessProducts();
потому что я чувствую, что первая альтернатива просто кажется неестественной. Я не хочу знать, от чего зависит бизнес-продукт, чтобы получить продукты, также я чувствую, что мой код становится более нечитаемым.
Есть ли какие-либо альтернативы этому подходу, поскольку я хотел бы сохранить свой оригинальный синтаксис для создания объектов, но я хотел бы по-прежнему иметь возможность подделывать зависимости при модульном тестировании или это может сделать для меня эта зависимость? /p >
Я кодирую в С#, но альтернативы с других языков приветствуются