2009-05-21 13 views
0

シナリオ:ユーザーは複雑なデータ(WPFフロントエンド)を入力し、いくつかのORマッパーでデータをSQLServerに保存します。私はTelerikのOpenAccessを使用しています。部分的なデータ入力を保存する

しかし、今、次のような状況を考えてみましょう。1つは、ほぼいくつかのユースケースで作業を終了しましたが、現在、一部の情報が欠落しています。入力したデータがすべてのビジネスルールを満たしていないため(必須フィールドはまだ空である可能性があります)、彼は自分の仕事を救うことができません。

残念ながら、彼はあまりにも欠落した情報を得ることはできません。それで彼は何をすることができますか?全体の仕事、悪い考えを破棄し、ただ待つよりもむしろ何もしないでください。

私の考えが上がった。ユーザーが未解決の問題を「パーク」して、いくつかの異なるユースケースに取り掛かることができれば役に立ちます。そして、彼は仕事を止めた後、システムをシャットダウンし、先日それを解決しようとします。 (そして、ところで、彼は他のシステムで続けることができます)

しかし、どこでシリアル化するのですか? ORMからのID情報が含まれているため、ビジネス・オブジェクトは直列化できません。いくつかの中間オブジェクトを導入すると、代入文が爆発します。 UI?

おそらく、誰かが既存の解決策を知っているか、素晴らしいアイデアを持っていた可能性があります。

答えて

1

ステータスフィールドを使用して、すべてのルールを満たしているかどうかを追跡します。それはルールに関係なく保存することができますが、そのようにフラグを立てます。それが有効なときフラグを変更します。ユーザーの残りの人に有効なアイテムが表示され、作業できるようにします。

0

メメンデオパターンはどうですか?シリアライズ可能なデータをすべて取り出して別のクラスに配置し、それをシリアル化してデータベースに保存します。再度必要になったときは、元のクラスにデシリアライズし、元のオブジェクトを作成します。

関連する問題