这是customer
中的简单Web API
控制器。
public class CustomerController : ApiController
{
BusinessLayer.ICustomerRepositary CustomerRepositary;
public CustomerDTO Get()
{
BusinessLayer.Customer customer = CustomerRepositary.GetCustomers();
// Map customer to customerDTO
return customerDTO;
}
}
我的项目组织:
BusinessLayer - >模型(Customer.cs),CustomerRepositary,ICustomerRepositary
APILayer - > DTO(CustomerDTO.cs),CustomerController
我的问题是:
tightly coupling the business layer with the API
层是个好主意吗?
这里有没有其他模式可以实现?
当我实现单元测试时,单元测试包含业务层的引用。这个设计是正确的吗?
答案 0 :(得分:1)
与软件中的大部分内容一样,它取决于您要实现的目标。
但是,通常,在较高层创建的类可以依赖于较低层的类。但不是相反。
因此,我没有发现您的代码移动方向有任何问题。
在为CustomerController
编写测试时,您将引用BusinessLayer
类。但是,在为BusinessLayer
类编写测试时,不期望引用WebAPIApplication
类。