合同最正确的收款方式?

时间:2018-07-26 07:42:46

标签: c#

让我们谈谈ASP.NET控制器,内部命令/查询处理程序等。

是否存在事实上的/推荐的集合类型以用于请求/参数以及响应/结果?

数组

我一直很喜欢-在请求中,该方法说我想要一组固定的项目。回复说,这是一组固定的项目。

但是,data-val-remote-additionalfields="*.PropOfModelFirst,*.Second.PropOfModelSecond" 可能会有开销,而且您所做的大部分工作很可能 最终不会产生数组。

IEnumerable <>

尽管感觉更“神秘”,但这似乎是一个不错的选择? Resharper给出了十亿个警告,警告它们可能被多重枚举。枚举也可能有副作用。

列表<>,IList <>,ICollection <>

所有方法都有ToArray()AddRemove方法。对我来说,意味着可以修改或应该修改数据合同。我认为合同应该是一成不变的?如果某个方法使用Clear方法返回某项内容,那么这种操作会打破这样的想法,即该操作是纯操作/原子操作/类似的操作吗?

IReadOnlyCollection <>,IReadOnlyList <>

实际上似乎是一个很好的答案。 List变体允许按索引进行抓取,这并非绝对必要。缺点是最好的(集合)请求额外的代码来包装,因为数组,列表等不继承Add

理想情况下,我想将会有一个IReadOnlyCollection带有读取方法,而IReadableCollection带有突变方法。

所以,我们如何在这里删除主观因素。

我的具体问题:是否有实际路线或推荐路线?

0 个答案:

没有答案