我们正在开发一个具有扩展功能的Salesforce包。我们的想法是在基础包中提供基本功能,并提供单独的额外功能作为包扩展(具有自己独立的许可和价格)。
但是,当我们安装扩展时,我们需要在基础包中注入一些额外的元素。这种需求的例子是:
问题是:Salesforce上是否有标准功能可以让我们实现这些结果?如果没有,是否有可以应用的设计模式来实现这样的目标?
答案 0 :(得分:0)
你可以看一下使用最近推出的[apex reflection] [1](阅读:新功能,谨防错误!)。
对于其他逻辑,请在基础包中定义接口。扩展包添加了一个新实现,并在自定义设置(基础包的一部分)中“注册”类名。然后让代码检查任何条目的自定义设置,如果有,则运行处理附加逻辑所需的任何方法。
对于visualforce页面,您可以执行类似的操作,但扩展包接口类将使用动态visualforce来添加按钮。
更简单,只需在扩展包中创建一些工件,也许是静态资源,但可以是基础包可检查的任何东西。如果基础包查找工件并找到它,请打开增强功能。希望让大脑流动起来。