ゲートウェイ
外部システムまたはリソースへのアクセスをカプセル化するオブジェクト。
完全な説明については、P of EAAの466ページを参照してください。
優れたソフトウェアは、ほとんどの場合、孤立した環境には存在しません。純粋にオブジェクト指向のシステムであっても、リレーショナルデータベーステーブル、CICSトランザクション、XMLデータ構造など、オブジェクトではないものを処理しなければならないことがよくあります。
このような外部リソースにアクセスする場合は、通常、それらのAPIを入手します。ただし、これらのAPIはリソースの性質を考慮して作成されるため、本質的には多少複雑になります。リソースを理解する必要がある人は、リレーショナルデータベースの場合はJDBCとSQL、XMLの場合はW3CまたはJDOMなど、そのAPIを理解する必要があります。これにより、ソフトウェアは理解が困難になるだけでなく、将来的にリレーショナルデータベースからXMLメッセージにデータをシフトした場合、変更がはるかに困難になります。
その答えはあまりにも一般的すぎて、言うまでもありません。すべての特別なAPIコードを、通常のオブジェクトのように見えるインターフェースを持つクラスにラップします。他のオブジェクトは、このゲートウェイを介してリソースにアクセスし、単純なメソッド呼び出しを適切な特殊化されたAPIに変換します。