【发布时间】:2015-06-28 20:17:01
【问题描述】:
我正在为一个应用程序构建一个 WebAPI 服务,我被困在一个十字路口,我了解 SOLID 原则并希望按照这些原则实现我的 WebAPI 服务,但是我在过去几天一直在努力实现并希望得到社区的一些建议。
单一职责原则指出,每个类都应对软件提供的单一功能部分负责(参见Solid Principles)
我目前有两个 ApiController,但还会有更多,这两个目前具有 Get、Post 和 Put 功能,但每个控制器还需要一个 Search 功能,我的问题是是否应该将搜索方法移入一个单独的 ApiController,例如 SearchController。
例如:
我有一个用户控制器
public class UserController : ApiController {
Get - returns a User
Post and Put - Add and update a User
}
我有一个与上述相同的患者控制器,我是否应该在每个控制器中都有我的搜索方法,或者我是否应该有一个 SearchController,例如。
public class SearchController : ApiController {
SearchUsers() - returns ICollection<User>
SearchPatients() - returns ICollection<Patient>
}
我知道没有明确的答案,只是想就最佳实践提出一些建议
【问题讨论】:
-
“搜索”可能只是一个带有过滤器的 GET,对吧?
标签: asp.net-web-api solid-principles single-responsibility-principle