| P of EAA カタログ |

プラグイン

David Rice と Matt Foemmel 著

コンパイルではなく構成時にリンククラスを行います。

詳細については P of EAA499 ページを参照してください。

アプリケーションコードが複数のランタイム環境で実行され、各環境が特定の動作の異なる実装を必要とする場合は、分離されたインターフェイス (476) がよく使用されます。ほとんどの開発者は、ファクトリーメソッドを作成して正しい実装を提供します。プライマリキー生成器を分離されたインターフェイス (476) で定義して、ユニットテストにはインメモリコンターを使用し、本番環境にはデータベース管理シーケンスを使用する場合を考えてみましょう。ファクトリーメソッドはおそらくローカル環境変数を見て、システムがテストモードにあるかどうかを判断し、正しいキー生成器を返す条件分ステートメントを含むでしょう。ファクトリーがいくつかあると、問題が発生します。新しいデプロイメント構成 (「トランザクション制御なしでインメモリデータベースに対してユニットテストを実行する」または「完全なトランザクション制御を使用して DB2 データベースに対して運用モードで実行する」など) を確立するには、多数のファクトリー内の条件文を編集し、再構築し、再デプロイする必要があります。構成はアプリケーション全体に分散されるべきではなく、再構築や再デプロイメントを必要とするべきでもありません。プラグインは、集中化されたランタイム構成を提供することで両方の問題を解決します。