gpt4 book ai didi

c# - asp.net mvc 分层应用程序,我理解对吗?

转载 作者:太空宇宙 更新时间:2023-11-03 19:07:50 25 4
gpt4 key购买 nike

我已经阅读了很多可以在 Internet 上找到的 asp.net mvc 分层应用程序。现在,是时候应用我学到的知识了。请告诉我我做的对不对。一个示例代码会很棒 :D

这只是一个简单的分层应用程序。开始了,

<Company>.Data
-- DataAccess (contains repo, interfaces and dbcontext)
-- Mappings (mapping to models using fluent api)
-- Migrations (schema migration)
-- Filters (pipe and filter)
- Product.cs
- Customer.cs
- Order.cs
<Company>.Service (consumes the interfaces and implementation)
- ProductService.cs
- CustomerService.cs
- OrderService.cs
<Company>.Tests
<Company>.Web (ASP.NET MVC, have reference to Ninject, including ViewModels)

我想知道,在 <Company>.Service层(如果这应该是我应该放置业务逻辑的地方)例如。

public class ProductService : IProductRepository
{
public IQueryable<Product> GetProductByCustomer(int id)
{
// Some logic; Get all the products bought by the customer
}
}

然后在我的Controller

public class CustomerController : Controller
{
private readonly ICustomerRepository _customerRepo;
private readonly IProductRepository _productRepo;

public CustomerControll(ICustomerRepository customerRepo,
IProductRepository productRepo)
{
_customerRepo = customerRepo;
_productRepo = productRepo;
}

public ActionResult Index(int id)
{
var customerProducts = _productRepo.GetProductByCustomer(id);
return View(customerProducts.ToList());
}
}

如果我需要改进或需要添加某些方面,请告诉我。我只想从简单的开始,然后我会逐步完成。

注意:为简洁起见,我删除了一些代码。

非常感谢您的帮助。谢谢!

最佳答案

你可以看看这个repo

https://github.com/MarlabsInc/SocialGoal

它包含一个使用 ASP.NET MVC、EF、服务层、存储库模式、工作单元模式等实现最佳实践的示例项目。

关于c# - asp.net mvc 分层应用程序,我理解对吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24379969/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com