gpt4 book ai didi

c# - 一个简单的职位报价系统的设计

转载 作者:太空宇宙 更新时间:2023-11-03 16:45:39 24 4
gpt4 key购买 nike

实现简单报价系统以根据类型值(value) 两个属性确定工作成本的最佳方式是什么。

作业成本将决定属于类型的范围。

例如:

工作类型 A 的成本

  • 值(value)在 0-150 美元之间的 80 美元
  • 值(value)在 150-300 美元之间的 100 美元
  • 值(value) 120 美元 > 300 美元

工作类型 B 的成本

  • 值(value)在 0-120 美元之间的 50 美元
  • 值(value)在 120-250 美元之间的 100 美元
  • 120 美元,值(value)在 120-500 美元之间
  • 150 美元值(value) > 500 美元

波段范围应该是可配置的,每个作业类型可以有不同的波段范围。

频段范围和成本可能会发生变化,并最终存储在通过存储库模式访问的 SQL 服务器数据库中,因此我可以为 TDD 实现模拟存储库。

我最初的开发使我在下面有一个代表乐队的轻量级

public class JobCostBand
{
public int ID { get; set; }
public string Type { get; set; }
public float ValueLowerBand { get; set; }
public float ValueUpperBand { get; set; }
public float Cost { get; set; }
}

我有一个模拟存储库,它使用 LINQ 从这些对象的内存列表中进行选择以返回成本。此类可以很容易地映射到 SQL 表,由此我可以使用 LINQ to SQL 在我的最终数据库存储库中找到成本。

我的问题是如何处理给定工作的最后一个波段类型。我开始使用 float.MaxValue 作为上限,但我不太喜欢。然后我考虑使用上限值或下限值来指定 JobCostClass 中的范围,但这又一次不太合适。我是不是想太多了,还是错过了一种真正简单的建模方法?

最佳答案

您尝试做的工作是将输入值映射到波段。你如何表达它是次要的。因此,您真正应该专注于能够针对给定输入值返回正确波段的对象。

我坚持只代表每个 JobCostBand 的上限或下限。如果给定波段的上限值低于下一个波段的下限值,上限波段也有一个可为空的值。有一个“管理器”对象,它保存波段的集合,并且能够查询它们以响应一个值并决定哪个是最合适的。我会将它们存储在一个排序列表中(按较低的波段阈值排序),并按顺序遍历数组直到波段匹配。

关于c# - 一个简单的职位报价系统的设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6117151/

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