我有一個可用於單臺PC的WPF應用程序。我已經使用SQL服務器數據庫,實體框架與數據庫 和應用程序中的RDLC報告進行通信。現在需求已經到了,使得這個應用程序可以在多個用戶(通常在25個左右)訪問應用程序的本地公司網絡上工作,這取決於角色和權限的設置。我做了這方面的一些[R & d,主要使用的架構這裏提到http://www.codeproject.com/Articles/434282/A-N-Tier-Architecture-Sample-with-ASP-NET-MVC-WCF,而這樣做之後,我已經提出申請的一紙設計/架構,將看起來像這樣將WPF桌面應用程序轉移到客戶端服務器技術的良好體系結構
的WCF服務運行公司網絡內的高端服務器
- GPC.Service本身 - 定義協議來連接到服務 和所有其他必要的信息
- GPC.Algorithm - 將成爲主要的商業邏輯層將 包含的邏輯和將接口連接到客戶端調用 數據庫層方法
- GPC.Persistance - 將有一個像 取實際的數據庫交互方法/存儲/更新/刪除數據庫
- GPC.Data記錄 - 這將包含EDMX架構實體 Framwework
- GPC.Entites - 這將包含數據庫架構的實體 和addional部分類
**
客戶:
客戶將基於MVVM模式現在WPF應用程序(可能在將來,我們將需要移動Web應用程序,但不是必需的現在)。應用程序的主要組件是:
- 從excel導入:目前所有數據都在Excel文件中。需要將所有數據導入到系統中。
- 編輯/更新/刪除:一旦數據被導入,讓界面對用戶 編輯/更新/刪除記錄
- 生成reprots(使用RDLC本)
- 用戶/角色管理等
共享: 這是包含像代碼目前存在的miscelenious一個類庫來讀取excel文件,處理錯誤,類別,這將是結合到UI等
數據庫上下文:將在每個方法的Persistance圖層中的using語句中創建,以確保沒有陳舊的信息。
這個架構是否遵循n層架構,它是否靈活?這方面需要做什麼改進,請指導我如何改進任何問題。在繼續並改變我現有的應用程序之前,我想確保這是一個很好的架構。