2012-02-15 36 views
0

我有一個架構問題,我們需要開發具有兩個前端的信息系統:輕量級Web應用程序(ASP.NET)和桌面應用程序(WIN-FORMS)。目前爲止沒有什麼特別的,但是這兩個前端應該能夠與兩個共享和可切換(在應用程序重新啓動後)數據庫後端,一個SQL數據庫(SQL服務器)以及一個最可能的某種XML存儲(一個文件中的所有內容就足夠了)。這兩家商店不會同步。這兩個應用程序都將非常簡單,只有幾種形式。可切換的XML和SQL後端

請問,是否有任何開箱即用的東西,例如在實體框架中,可以如上所述進行調整?

或者你會推薦哪些建築設計?

回答

2

嗯。

最好的辦法是有一個類庫項目爲您數據倉庫

給它一個已知的接口並使用工廠模式在運行時決定它是否生成SQL實例或XML實例。

最好有一個基於單身模式的存儲庫

因此你必須像Repository基地繼承IRepository,與XMLRespositorySQLRepositoryRepository繼承。

你的業務邏輯,那麼就指IRepsositoryRepository和不關心什麼是真正的有(XMLRepositorySQLRepository)。

這與存儲庫模式類似。

如果你想使用不同的前端相同的業務邏輯和你粘在ASP.NET Web表單和WinForms然後我會做同樣與業務邏輯即把它放到一個類庫和必要時從ASP或Winform代碼調用。