我正在构建一个.NET Web API,它将接受来自客户端的数据。它将对数据执行一些计算,然后将计算结果返回给客户端。
例如:
ModelData的模型结构概述:
Id,
ValueA,
ValueB
ModelResults的模型结构概述:
Id,
ResultingValue
API:
ModelResults ExecuteCalculation(ModelData modelData)
我正在尝试找出适合这种行为的正确设计模式。起初我以为存储库模式就足够了,因为它涵盖了与此项目相关的许多设计模式。但是我不确定,因为据我所知回购。模式是一种自上而下的方法(如果我错了,可以纠正我)。
让我知道您对此有何想法。非常感谢。
答案 0 :(得分:0)
我不确定对此是否有正确的答案,因为选择设计模式非常主观且受开发人员的青睐,而且我们对您的计算内容没有100%的详细信息。
如果您要进行的只是您的问题的简单计算,那么我认为您的第一个方法将行得通。
var calculator = new Calculator();
var result = calculator.Calculate(data);
我的首选是用于复杂计算的构建器模式。通过将特定于过程的逻辑应用于步骤,可以灵活地进行计算。当在计算器中探究问题时,易用性看上去更清晰。
var result = new Calculator(data)
.GetBaseNumbers()
.CalculateYearly()
.CalculateMonthly()
.ApplyOverrides()
.GetResult();