我目前正在使用在線應用程序,需要多個屏幕/步驟才能完成。應用程序域使用對象圖進行建模。從數據庫持久化和使用ORM包完成。對象圖/持久性問題
隨着我在屏幕上的進展,我建立了對象圖。在屏幕之間,我將對象圖序列化/反序列化到當前會話。到達最終屏幕時,對象圖形已完成,並將其存儲在我的數據庫中。
我的問題是以下。我不太關心像工作單元這樣的模式。我只是想知道是否事先構建了對象圖,然後在我通過屏幕前進行填充並最終保存它是一種可行的策略。或者也許可以通過屏幕填充/序列化/反序列化單個對象,然後在堅持數據庫之前構建最終對象圖可能更有意義。或者如果有一個更好的方法。
我選擇暫時堅持會議,因爲我收集的作品,因爲如果用戶放棄這個過程它會過期,我將不必搜索數據庫來清除被遺棄的應用程序。
我希望我的問題說得很清楚。這似乎很常見。
編輯:
我與我的對象圖的方法主要關注的是,雖然我在域模型我的工作,我覺得每次我需要更新它的一部分時間像我招致反序列化的成本/序列化整個圖。也許我應該在我的屏幕和最終域模型之間有一箇中間抽象。我使用ASP.NET/C#作爲我的實現平臺。
您是否擔心基於某些衡量業績問題的成本?如果不是,那麼我首先模擬你認爲會很昂貴的行爲,並且看看它是否與你的交通計劃有關。節省您對實際問題的擔憂,而不是更多的潛在問題。 – 2009-11-14 04:45:05
目前還不清楚哪些要求導致您失敗。最後一次保存失敗時是否可以回滾?用戶是否需要從「嚮導」中間恢復?在沒有幫助的情況下提供指導很難了解你正在工作的限制條件。 – 2009-11-14 12:12:36
不需要回滾。如果用戶在中途放棄,那麼也可以,因此不需要保存部分應用程序。這是一系列簡單的屏幕。我只是試圖組織屏幕之間的流程儘可能簡單。 – Rudy 2009-11-14 20:00:48