В псевдокоде ниже у меня есть 3 слоя: UI, BL и DL для приложения ASP.NET WebForms.Может кто-нибудь дать мне несколько советов о том, зачем мне здесь использовать Dependency Injection и Unity?Я часто использую интерфейсы (в основном для сторонних компонентов, таких как Mail или анализаторы файлов, так что я могу заменить их по мере необходимости, не меняя другие слои), но я не понимаю, почему я должен использовать интерфейсы в объектах EF EntityObjects.Кажется, я не могу найти в Интернете ни одного примера, который продемонстрировал бы практическое преимущество за пределами теоретических нереальных случаев.
namespace Sample.ASP.NET.UI
{
using Sample.ASP.NET.BusinessLayer;
using Sample.ASP.NET.DataModel;
protected class AspxCodeFile
{
protected Page_Load()
{
GridView.DataSource=BusinesLayer.Products.GetProductsAsList();
}
}
}
namespace Sample.ASP.NET.BusinessLayer
{
using Sample.ASP.NET.DataModel;
protected class Products
{
public static List<Product> GetProductsAsList()
{
EdmxEntities DB=new EdmxEntities();
return DB.Products.ToList<Product>();
}
}
}
namespace Sample.ASP.NET.DataLayer
{
// wrapper namespace for Entity Framework designer
// generated code off SQL Server 2008 database
// where one of the tables is called Products
// and designer created Product EntityObject
// this Product entity is referenced in both
// UI and BL.
}