私たちは製品を開発しており、これらの製品にはビジネス ロジックが EJB として実装されています。アイデアは、ユーザー出口 (ユーザーがデフォルトの動作をオーバーライドできる拡張ポイント) を提供することです。製品開発ではよくある問題ですが、Java で記述されたビジネス ロジックのオーバーライドをサポートする設計パターンや抽象化メカニズムは見当たりません。
ユーザー出口は、オーバーライドされた Bean クラスまたは groovy スクリプトのいずれかです。Java クラスまたはスクリプトを使用して EJB をオーバーライドできる製品を開発するための設計パターンまたは設計上の考慮事項はありますか?
AspectJ を使用して、デフォルトの実装を使用するか、ユーザー固有の実装 (オーバーライドされたユーザー終了コード) のメソッドを使用するかを動的に決定することはできますか?