所以前几天我想知道在哪里放置私有方法,在Web API中做一些脏工作。
我需要从JSON中提取某些东西,方法会完成工作并返回一些结果。
那么我该在哪里保留这些方法呢? 我是否需要编写一个单独的库(dll)? 或者只是在控制器中做这些东西?
答案 0 :(得分:6)
我认为它没有一个答案 - 这取决于......
如果您认为将来可以从其他控制器重用此私有方法,最好有一个单独的类,如果您认为它可以从单独的模块(不仅仅是来自控制器)重用,则可以使用单独的类库项目答案。
但是如果你认为这个私有方法被设计为支持控制器的特定动作,你可以在控制器内写入,然后再考虑更多的参数,如单元可测试性或API的纤薄等。
答案 1 :(得分:1)
您应该尽可能地保持控制器的薄度。您可以将逻辑代码移动到服务包,例如JSONService类或JSONLib。 我经常使用以下布局:
controller/
lib/
service/
model/