Я просмотрел довольно много статей о шаблоне репозитория и у меня возникло несколько вопросов.Я пытаюсь реализовать это в приложении ASP.NET 4.0.Архитектура представляет собой многоуровневую архитектуру с уровнем представления данных, бизнес-уровнем и уровнем данных.Из этой статьи http://www.primaryobjects.com/CMS/Article108.aspx
Я создал MYSQLRepository
(DataLayer)
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();
}
}
Теперь мой вопрос заключается в том, что на уровне представления я должен сделать это
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, и он, кажется, хорошо работает там.
Кроме того, действительно ли мне нужно внедрение зависимостей здесь?
Спасибо за помощь Soni