在下面的僞代碼中,我有3層:用於ASP.NET WebForms應用程序的UI,BL和DL。 有人可以給我一些關於爲什麼我需要在這裏使用依賴注入 和Unity的指針嗎?我使用的接口很多(主要用於第三方組件,比如Mail或File Parsers,所以我可以在不更改其他層的情況下根據需要替換它們),但我不明白爲什麼我應該在EF EntityObjects上使用接口。我似乎無法在網絡上找到一個能夠顯示超出理論不真實情況的實際優勢的例子。在我的示例中一般使用Unity應用程序塊或DI的好處是什麼
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.
}