原文: http://www.martinfowler.com/eaaCatalog/identityField.html

データベースのIDフィールドをオブジェクト内に格納し、メモリ内のオブジェクトとデータベース行との一意性を保持する。

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

リレーショナルデータベースはキー(主キー)を使って行を特定している。 しかし、メモリ内のオブジェクトにはそのようなキーは必要ない。 オブジェクトシステムは暗黙的にオブジェクトの一意性を保証しているからである(C言語ではメモリロケーションを使っている)。データベースからデータを読み取るのは問題ないが、データを書き込むには、データベースとメモリ内のオブジェクトシステムとを結びつける必要がある。

基本的に、IdentityFieldはシビれるほどシンプルである。 リレーショナルデータベーステーブルの主キーをオブジェクトフィールドに保持すればよい。


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