C# WebAPI-如何实现层?
这是我在C# WebAPI-如何实现层?,c#,.net,asp.net-mvc,design-patterns,asp.net-web-api,C#,.net,Asp.net Mvc,Design Patterns,Asp.net Web Api,这是我在webapi中的简单customer控制器 public class CustomerController : ApiController { BusinessLayer.ICustomerRepositary CustomerRepositary; public CustomerDTO Get() { BusinessLayer.Customer customer = CustomerRepositary.GetCustomers();
webapi
中的简单customer
控制器
public class CustomerController : ApiController
{
BusinessLayer.ICustomerRepositary CustomerRepositary;
public CustomerDTO Get()
{
BusinessLayer.Customer customer = CustomerRepositary.GetCustomers();
// Map customer to customerDTO
return customerDTO;
}
}
我的项目组织:
业务层-->模型(Customer.cs)、CustomerRepository、ICCustomerRepository
APILayer-->DTO(CustomerDTO.cs),CustomerController
我的问题是:
将业务层与API
层紧密耦合是一个好主意吗和软件中的大多数事情一样,它取决于您试图实现的目标 但是,通常,在较高层创建的类可以依赖于较低层的类。但不是相反 所以,我看不出代码前进的方向有任何错误
为
CustomerController
编写测试时,您将引用BusinessLayer
类。但是,在为BusinessLayer
类编写测试时,您不会期望引用WebAPIApplication
类。这同样取决于您是向三层体系结构还是更高层次的体系结构发展。一开始,我认为将存储库放在业务层内是很好的。如果您有多个repo实现,那么您可能只希望将接口保留在总线层(将来)。简单但很好的解释。谢谢:)