我有一个可用于单台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层架构,它是否灵活?这方面需要做什么改进,请指导我如何改进任何问题。在继续并改变我现有的应用程序之前,我想确保这是一个很好的架构。