将窗口从 C# 应用程序转换为 n 层和 n 层面向服务的应用程序
本文关键字:服务 应用程序 层和 应用 程序转换 窗口 | 更新日期: 2023-09-27 18:36:07
我们正在努力为一家医院开发一个现有的Windows表单人力资源程序,该程序是用C#,L2S(DBML)和Sql2005编写的,查询是使用LINQ硬编码的。
当前的应用程序不支持多分支概念,我对这种应用程序没有经验,到目前为止我对基础架构的了解是:
- 两家医院之间将有VPN连接
- 人力资源部门将为两家医院提供服务,它将是中央部门
- 每家医院都有自己的组织结构图
基于上述基础设施,我想知道我应该在我们的应用程序中进行哪些更改?
我正在考虑使用 Web 服务和存储库模式,在我们的情况下是否推荐它?但我仍然不确定该做什么、使用什么以及使用哪种技术
任何想法都将受到高度赞赏
呼...我会选择"传统的"n 层和 n 层应用程序。有一个中央数据库,用户被他们工作或服务的特定医院"分开"。虽然,也许超级用户也可以全面了解两家医院的数据。
为什么现在使用 VPN 连接?互联网连接是一种选择吗?
传统的设置可能是这样的:
- 数据库(SQL Server)
- 数据访问层(实体框架) Web Application (
- ASP.NET MVC)/Windows Application in WPF (MVVM)
可以在此处对此类设置进行很好的介绍。这可能会给你一些具体的帮助,并为你指明正确的方向。
初始数据库设计如下所示(多分支;):
医院
- 身份证
- 名字
员工
- 身份证
- 名字
- 医院身份证 (FK -> Hospital.ID)
用户
- 身份证
- 名字
- 医院身份证 (FK -> Hospital.ID)
右
- 身份证
- 名字
用户权限
- 用户标识 (FK -> User.ID)
- RightID (FK -> Right.ID)
多分支部分由 UserRight 表影响。在这里,用户被赋予(关系耦合)查看特定类型数据(员工、工资、评论等)的权利。UserRight 系统中的信息(业务规则)将转换为业务访问层和 UI。当用户登录(身份验证)时,您可以根据他或她的权限轻松启用/禁用某些功能
必须说,这对您、您的同事和您的客户来说是一个很好的机会,可以选择使用新的现代框架。正如您已经说过的 Web 服务,存储库模式。请注意,熟悉新技术和框架可能需要一些时间。
做一个谷歌搜索,让自己消息灵通。祝你好运!