我已經閱讀了很多關於存儲庫模式的文章,並且有一些問題。 我想在ASP.NET 4.0應用程序中實現這一點。 該體系結構是一個具有表示層,業務層和數據層的分層體系結構。 從這篇文章中,http://www.primaryobjects.com/CMS/Article108.aspx分層架構中的存儲庫模式
我創建了MYSQLRepository
(數據層)
public class MySQLRepository:IOrderRepository
{
public List<Order> GetOrders()
{
List<Order> orders = new List<Order>();
orders.Add(new Order(1,"A"));
orders.Add(new Order(2,"B"));
return orders;
}
}
我的業務層看起來像這樣
public class OrderBL
{
IOrderRepository orderrep;
public OrderBL(IOrderRepository repository)
{
orderrep = repository;
}
public List<Order> GetOrders()
{
return orderrep.GetOrders();
}
}
現在我的問題是,在表示層,我m預計要做到這一點
protected void Page_Load(object sender, EventArgs e)
{
OrderBL orderBL = new OrderBL(new MySQLRepository());
List<Order> orders = orderBL.GetOrders();
foreach (Order order in orders)
{
Response.Write(order.OrderId.ToString() + ". " + order.OrderNo + "<br>");
}
}
爲了做到這一點,我必須在表示層中引用我的DataLayer。這不是錯的嗎?理想情況下,我只想引用我的業務層。 在我的實現中出現錯誤,或者它不是實現該模式的正確位置。我見過很多使用ASP.NET MVC的例子,它似乎在那裏工作得很好。
另外,我真的需要依賴注入嗎?
感謝您的幫助 瑞裏
@Eranga,感謝您的編輯。想知道如何做到這一點 – hangar18
選擇代碼塊並點擊'{}' – Eranga