ドメイン モデルを設計するときは、問題のドメインを表すものに固執する必要があり、ドメイン モデルには監査情報を含めないでください。
したがって、私が猫をデザインしているとしたら、次のようになります。
public Cat {
private Color furColor;
private Color eyeColor;
private boolean isDeclawed;
etc...
}
「updateDate」や「createTime」などの属性は絶対に持つべきではありませんよね?
ここで、Web アプリケーションが画面に猫のテーブルを表示する場合は、次のようになります。
名前の目の色の爪?最終更新 ------ ---------- ------ ------------ フラッフィーグリーン No 2012/10/31 等...
では、ドメイン モデルで最終更新時刻を保持しない場合、そのデータをどのように (適切に) ページに取得するのでしょうか?
もちろん、ドメイン モデルの設計が不十分である可能性もありますが、それを改善したいと考えています。
ドメイン モデルを元の状態に保つことができるように、ジェネリックを受け入れるオブジェクトを作成することを検討していました。すなわち
public PersistableObject<T,K> {
private T domainObject;
private Date updateDate;
private User updateUser;
getters, setters, etc...
}
ただし、これでいくつかの問題が発生するのではないかと心配しています。
「ドメイン モデル」や「更新日」などについていろいろ検索しましたが、適切な用語を見逃していると思います。
誰かが私を正しい方向に向けることができますか?