利用Type类进行Apex类的动态实例化

有时候我们需要在Salesforce中动态实例化一个Apex类,从而让我们的代码组织得更加模块化且更加让人容易理解,如以下的场景:

1. 每个联系人中拥有社交关联字段 : “Type__c” 和 “AccessToken__c”
2. Apex中需要通过API动态获取联系人的Profile信息

首先我们需要创建一个接口类, e.g. SocialApi, 如下所示 :
※利用关键字”virtual”创建一个父类并继承也是一个可行的方案.

接着创建一个实现SocialApi接口的Apex类”FacebookApi”.

这样我们便可利用Contact.Type__c中的值,进行动态实例化”FacebookApi”类并访问它的方法,如下所示:


Enjoy it!