用于为数据提供自定义参数的设计模式

时间:2018-09-09 04:47:24

标签: design-patterns

我正在尝试设计一个框架,该框架允许各种工作人员从给定任意参数的中央数据源中请求值。请考虑以下内容:

工人要求根据前7个时间段计算出的移动平均值的当前值。通过将以下内容传递给某些中央数据源或提供程序来实现:

{ 
  Name: 'MovingAverage',
  Parameters: {
    Periods: 7,
    RemoveBias: true,
  }
}

中央数据源/提供者已经以某种方式注册了MovingAverage以及可以用于计算移动平均值的可接受参数范围。给定传递的内容,数据源将使用指定的参数计算移动平均值,并将结果传递回工作人员。

从理论上讲,这似乎很简单,但是我很难弄清楚如何设计这样的东西。

我想知道是否有任何已建立的设计模式或开放源代码示例可以实现此类功能,以便我可以对其进行研究并将其实现到我的项目中。

我不知道经验丰富的开发人员会怎么称呼这样的事情,因此我在计划行动方案时会陷入困境。

2 个答案:

答案 0 :(得分:1)

实现此目标的一种好方法是使用the command design pattern,您可以为每种类型的提取定义一个新的类(命令)。

在这种情况下,您将拥有一个MovingAverageCommand类,其中以Periods和RemoveBias作为属性。

现在,如何应用该命令取决于许多因素,但是执行此命令的标准方法是定义一个将接收数据源实例的execute方法。

<script>
function myFunction(a) {
 var x = a.href; // "a" is the clicked element
 document.getElementById("demo").innerHTML = x;
 console.log(a.dataset.hora) // here is the data-hora attribute
 return false;
}
</script>

答案 1 :(得分:0)

我对您的情况的看法:

  1. 需要一种解析请求的方法。

  2. 在中央数据源上方需要一个层/服务/类。

关于@ Phil-R所说的第一点,可以使用命令模式。

第二点,您可以使用存储库模式。