行データゲートウェイ

原文: https://www.martinfowler.com/eaaCatalog/rowDataGateway.html

データソースにあるひとつのレコードへの Gateway (466)として振舞うオブジェクト。いちレコード(一行)につき、いちインスタンスとなる。

解説の全文は『PofEAA』 152 ページを参照。

メモリ内のオブジェクトにデータベースアクセスコードを埋め込むと、厄介なことになる。 まず、メモリ内のオブジェクトにビジネスロジックがある場合、 そこにデータベース操作コードを追加すると複雑性が増す。 メモリ内のオブジェクトがデータベースと密結合している場合、テストも厄介になる。 テストを走らせるたびにデータベースに接続するため、テストが遅くなるからだ。 複数のデータベースにアクセスする必要があるが、 SQLのちょっとずつ違うということもあるだろう。

RowDataGatewayは、レコード構造のレコードのようなオブジェクトを提供する。 レコードのようとはいえ、通常のプログラミング言語でアクセス可能である。 データソースへのアクセス処理は、このインターフェースの裏に隠されている。


PofEAA index | パターンカタログの日本語版 | パターンカタログの英日対応表