Я столкнулся с предстоящим обновлением сайта ASP.NET, и я думаю о внедрении DI с использованием Unity. Я исследовал сторону ASP.NET DI и у меня есть 2 варианта (Global.asax или IHttpModule). Я счастлив использовать либо.
Как всегда, существует устаревшая объектная модель, которую я хотел бы обновить / изменить. Я хотел бы пойти по пути внедрения Constructor (передавая в DAO), однако, у каждого объекта есть смесь статических методов и методов экземпляра, которые в настоящее время оба вызывают в БД, используя сами объекты SqlCommand. Я хочу удалить это, чтобы обеспечить независимость от БД, поэтому кто-нибудь может предложить лучший способ сделать DI в этом случае? Я открыт для радикальных изменений, если они необходимы.
public class ExampleClass
{
public ExampleClass(int test)
{
TestProperty = test;
}
public int TestProperty {get; set;}
public int Save()
{
// Call DB and Save
return 1;
}
public static ExampleClass Load(int id)
{
// Call DB and Get object from DB
return new ExampleClass(1);
}
}
Спасибо за любые предложения
Мэтт