Plugin
このドキュメントの目的
PluginLoaderパターンを使って、拡張可能な機能を実装できるようになることが目標です。
所要時間
⏱️ 約30分(実装 + テスト)
前提知識
Pluginパターンとは
複数の実装を動的に切り替える仕組み。
Map<Type, Service> services = PluginLoader.loadFromInternalModule(ServiceClass);
Service service = services.get(type);
service.execute(...);
用途:
- ✅ Grant Type別のトークン生成(
authorization_code,client_credentials等) - ✅ 認証方式別の処理(
password,sms,fido2等) - ✅ 通知チャネル別の送信(
fcm,apns,email等)
実装例: 通知送信Plugin
複数の通知チャネル(FCM, APNS, Email)を動的に切り替える例。