gpt4 book ai didi

c# - 哪种方式返回数量 list 给客户?

转载 作者:行者123 更新时间:2023-11-30 18:01:12 26 4
gpt4 key购买 nike

我想将产品(客户可以购买)的可用数量列表返回给客户(例如,1,2,3...,200)。我们正在考虑三种方法:

  • 将完整的数量 list 返回给客户,客户只需绑定(bind)即可。这是目前的实现方式,实现起来容易,但浪费带宽。
  • 返回分离的最小数量和最大数量,客户必须建立一个列表然后绑定(bind)它们。这是我的想法,因为我们可以避免解析。
  • 返回一个1-200形式的字符串,然后客户端必须解析为数字,构建列表,然后绑定(bind)它们。这是我的拼贴画的想法,他说他在某个地方读过它(以为他不记​​得在哪里),这是返回数量列表的流行方式。

我们目前的需求不支持分段数量(比如不支持1-20、40-50、100-200的数量,只支持1-200)

解决这个问题的方法是什么?我们在 jQuery 上使用 ASP.NET 和 AJAX。

谢谢。

最佳答案

选项 1:返回范围内所有整数的列表对我来说似乎非常浪费。谁知道将来需要多少数量?如果您有可以订购数以万计的产品,这可能会导致大问题。

选项 3:当输入需要人类可读或可编辑时,可解析格式很有用。一个很好的例子是 MS Word 中的打印对话框;用户可以选择打印页面“1、2、7、9、11”或“5-15”等。但是解析为错误引入了全新的可能性。即使在简单的例子“1-200”中,“-”也有可能被解释为减号“-200”或类似的东西。如果界面是机器对机器的,我总是更喜欢一个清晰语义化的界面。通过明确定义的接口(interface)(例如参数“rangeFrom”和“rangeTo”),消除了解释的歧义,唯一要解决的问题是实现。我不知道你的客户是什么,但在任何语言中生成一个从 1 到 200 的整数列表应该是微不足道的。

我肯定会选择选项 2:它是一个定义明确的界面。它易于构建,并且通过网络非常高效。

根据您希望如何面向 future ,您可以考虑选择选项 2 并伪装一种重载。所以今天你会保持简单,只需返回以下内容:

{ 
"listType": "range",
"rangeFrom": 1,
"rangeTo": 200
}

客户端应该检查“listType”的返回值,目前,它总是期望它是“range”。但将来您可以添加其他类型。例如

{
"listType": "increment",
"rangeFrom": 2,
"rangeto": 20,
"inc": 2
}

// Interpreted by client as:
// 2, 4, 6, 8, 10, 12, 14, 16, 18, 20


{
"listType": "valuelist",
"values": [1, 2, 5, 20]
}

// Interpreted by client as:
// 1, 2, 5, 20

今天这将是简单而高效的,但如果以后有新要求出现时,您可以轻松扩展,而不会破坏兼容性。

关于c# - 哪种方式返回数量 list 给客户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9306896/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com