2016-04-27 63 views
0

我正在爲我們公司準備C#.Net項目,並想知道哪種設計模式最適合創建所有這些業務文檔。 我已經研究了一些可用的設計模式,老實說我有問題將它們應用到我的現實世界問題,以在這裏得到具體的我的場景:不同類型的文檔必須創建,讀入和維護通過Windows窗體和最後儲存回數據庫,例如發票(銷售和採購),合同(銷售和採購),提單,信用證,各種庫存和倉庫文件,可能是後來的一堆會計憑證。 首先,我認爲工廠方法可以完成這項工作,但我不確定它是否是這項任務的正確選擇。 我想這是最好的方法,將所有常用字段(如docId,docDate,docNumber,docIssuer等)都稱爲「Document」的抽象類作爲我的基礎,然後深入到所需文檔對象的具體創建。 有什麼選擇?在工廠的情況下:我是否需要爲每個文檔定義一個具體類並創建對象(這將是簡單的繼承,不是嗎?)或者工廠方法在我的問題上應該如何看待? 將每個文檔規範(最終會像每個數據庫表字段一樣)定義爲自己的類,並使用構建器模式或組合模式在運行時組裝所需的文檔,是不是更好? 或者還有其他方法嗎? 我不知道許多業務相關的程序必須做出這個決定,但我無法在StackOverflow上找到任何關於這個相當普遍的問題的任何問題。動態業務文檔創建

如前所述,我們正處於規劃階段,這個問題可能被認爲是架構的重要支柱,因此任何建設性意見將受到高度讚賞。

+0

你打算如何存儲這些數據(SQL/NoSQL)? – Daemon025

+0

在此範圍的應用程序中,您可能會最終使用許多設計模式。沒有「最適合」的模式來解決你在帖子中提出的所有問題。勾畫出對象之間的關係,編寫一些可以完成某些事情的代碼。重複。你是否重複代碼或一遍又一遍地解決相同的問題?那時就會出現對設計模式的需求。 – dbugger

+0

我使用MS SQL 2008R2 – user3079832

回答

0

您可以使用table per hierarchy作爲數據庫設計,然後使用NHibernate或Entity Framework等ORM構建文檔(而不是使用工廠)。

+0

「Bob叔叔」建議儘量減少框架的使用,因爲您會依賴它們,特別是從長遠來看,這是一個需要考慮的問題 – user3079832