用于接受和输出数据的Web API设计模式

时间:2019-05-13 20:58:37

标签: c# asp.net-web-api design-patterns

我正在构建一个.NET Web API,它将接受来自客户端的数据。它将对数据执行一些计算,然后将计算结果返回给客户端。

例如:

ModelData的模型结构概述:

Id,
ValueA,
ValueB

ModelResults的模型结构概述:

Id,
ResultingValue

API:

ModelResults ExecuteCalculation(ModelData modelData)

我正在尝试找出适合这种行为的正确设计模式。起初我以为存储库模式就足够了,因为它涵盖了与此项目相关的许多设计模式。但是我不确定,因为据我所知回购。模式是一种自上而下的方法(如果我错了,可以纠正我)。

让我知道您对此有何想法。非常感谢。

1 个答案:

答案 0 :(得分:0)

我不确定对此是否有正确的答案,因为选择设计模式非常主观且受开发人员的青睐,而且我们对您的计算内容没有100%的详细信息。

如果您要进行的只是您的问题的简单计算,那么我认为您的第一个方法将行得通。

var calculator = new Calculator();
var result = calculator.Calculate(data);

我的首选是用于复杂计算的构建器模式。通过将特定于过程的逻辑应用于步骤,可以灵活地进行计算。当在计算器中探究问题时,易用性看上去更清晰。

var result = new Calculator(data)
       .GetBaseNumbers()
       .CalculateYearly()
       .CalculateMonthly()
       .ApplyOverrides()
       .GetResult();