私は、アイテムの注文処理を行うアプリケーションの新しいドメインモデルを作成しています(とにかくこの質問のために単純すぎないようにしてください)。私は、注文可能なアイテムを表す "VendorItem"クラスを持っています。もともと、 "Order"クラスにはそれに関連するVendorItemsのリストがありましたが、これまでのところ問題が出てきました。アーキテクチャ:注文履歴の更新
このシステムでは、しばらくの間オーダーを作成しているとしましょう。ある日、ユーザーは、ベンダーアイテムが価格やパッケージサイズなどの詳細を変更したと判断します。私は前の注文がそのような変更の影響を受けるのは望ましくない。
最初は、 "VendorItem"クラスの基本的なコピーである "OrderLine"クラスを作成しようとしていましたが、オブジェクト指向の意味で間違った感じがします。
これをリファクタリングするより良い方法はありますか?ドメインモデルにクラスと情報のコピーはありませんか?
注:私たちの開発サイクルでは、ドメインモデルが完全になるまでデータベースを無視して、懸念を明確に分離することができます。 –