首页 > 解决方案 > 用于接受和输出数据的 Web API 设计模式

问题描述

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

例如:

ModelData 的模型结构大纲:

Id,
ValueA,
ValueB

ModelResults 的模型结构大纲:

Id,
ResultingValue

接口:

ModelResults ExecuteCalculation(ModelData modelData)

我试图找出适合这种行为的适当设计模式。一开始,我认为存储库模式就足够了,因为它涵盖了与该项目相关的许多设计模式。但我不完全确定,因为据我了解回购。模式是一种自上而下的方法(如果我错了,你可以纠正我)。

让我知道您对此有何看法。非常感激。

标签: c#asp.net-web-apidesign-patterns

解决方案


我不确定是否有正确的答案,因为选择设计模式是相当主观的和开发人员的偏好,而且我们没有 100% 的关于您计算内容的详细信息。

如果你正在做一个简单的计算,那就是你的问题是什么,那么我认为你的第一次去就行了。

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

我的偏好是复杂计算的构建器模式。通过将流程特定的逻辑应用于步骤,可以灵活地进行计算。在计算器中挖掘问题时,可读性看起来更清晰。

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

推荐阅读