Typeクラスで動的な文字列からApexクラスのインスタンス化

Salesforce開発には、動的な文字列値でApexクラスをインスタンス化したい場合がありませんか?
このような書き方で、ソースコードがもっとモジュール化及び読みやすくなります。
下記のようなケースで説明します:

1. 取引先責任者にソーシャル関連項目があります : “Type__c” と “AccessToken__c”
2. Apex側に、その情報から動的に責任者のプロファイル写真をソーシャルAPIから取得します

まずインタフェースクラスを1つ新規作成します, e.g. SocialApi, 次のソースコードのように :
※キーワード”virtual”を使って親クラスで実装しても構いません。

そしてSocialApiを継承した”FacebookApi”というApexクラスを新規作成します。

これで、取引先責任者Contact.Type__cの情報から、動的に”FacebookApi”クラスをインスタンス化し、メソッドを実行することができます。


Enjoy it!