【发布时间】:2017-02-02 16:58:21
【问题描述】:
任何使用过 Salesforce 平台的人都知道它基本上可以用作许多 Web 应用程序的后端。它们让最终用户定义自定义对象和这些对象上的字段。因此,例如,它们没有将某些实体作为代码中的强类型类,而是有一个通用的“自定义对象”,其行为和数据由您选择的字段以及您应用的触发器和规则定义。因此,他们不必在每次用户添加代码时都更新代码、重新编译和重新部署(考虑到它们是一种 Web 服务,这既不切实际又会导致严重的停机,很多)。
我在考虑如何实现这一点,我认为 Salesforce 可能会以一种非常复杂的方式来实现它,但我特别想我如何实现它。到目前为止,我想出了这个:
- “对象定义”,其中包含特定记录类型的所有元数据。等效于硬编码的类定义。
- 一个通用的“记录”,可能有某种字典/映射将值与对象定义中存在的字段标识符绑定。
- 对用户数据进行操作时,记录和对象定义都需要在内存中,以便检查数据的完整性。通常由方法提供的行为可以使用某种触发系统(同样,我在这里使用 Salesforce 示例,因为它是我所知道的最好的示例)和定义的操作/事件来应用。
整个系统看起来非常笨重、缓慢(没有经过认真优化),并且容易出现不会困扰 99% 软件项目的问题,所以我想了解更多有关它的信息,但我有不知道从哪里开始寻找。
我在上面提出的想法是否已经是一个现有的范式,如果是,它叫什么?
【问题讨论】: