这种“过于笼统”的节目类型是否有名称?

时间:2017-02-02 16:58:21

标签: multi-tenant paradigms

任何具有Salesforce平台经验的人都知道它可以基本上用作许多Web应用程序的后端。它们让最终用户定义自定义对象和这些对象上的字段。因此,例如,不是将某个实体作为代码中的强类型类,而是具有通用的“自定义对象”,其行为和数据由您选择的字段以及应用于它的触发器和规则定义。因此,每次用户添加代码时,他们都不必更新代码,重新编译和重新部署(如果它们是Web服务,那将是不切实际的并导致严重的停机时间,很多)。< / p>

我在想如何实现这一点,我认为Salesforce可能会以非常复杂的方式实现,但我特别想到 I 如何实现这一点。到目前为止,我已经想出了这个:

  • “对象定义”,包含特定记录类型的所有元数据。相当于硬编码的类定义。
  • 通用“记录”,可能带有某种字典/地图将值绑定到对象定义中存在的字段标识符。
  • 对用户数据进行操作时,记录和对象定义都需要在内存中,以便检查数据的完整性。通常由方法提供的行为可以使用某种触发系统(同样,我在这里使用Salesforce示例,因为它是我所知道的最好的示例)来定义动作/事件。

这整个系统看起来非常笨重,速度慢(没有认真优化),而且很容易出现不会困扰99%软件项目的问题,所以我想了解更多关于它的信息,但我有不知道从哪里开始寻找。

我上面提出的想法是否已经成为现有范例,如果是这样,它的名称是什么?

1 个答案:

答案 0 :(得分:0)

您遇到了自定义字段。该设计是针对固定实体启用租户特定字段。由于最高级别的多租户要求将单个代码库/数据库用于所有租户,并提供完全自定义选项。这种设计是最好的方法。以下链接指向授予管理每个租户的自定义字段的专利。

https://www.google.com/patents/US7779039