将窗口从 C# 应用程序转换为 n 层和 n 层面向服务的应用程序

本文关键字:服务 应用程序 层和 应用 程序转换 窗口 | 更新日期: 2023-09-27 18:36:07

我们正在努力为一家医院开发一个现有的Windows表单人力资源程序,该程序是用C#,L2S(DBML)和Sql2005编写的,查询是使用LINQ硬编码的。

当前的应用程序不支持多分支概念,我对这种应用程序没有经验,到目前为止我对基础架构的了解是:

  1. 两家医院之间将有VPN连接
  2. 人力资源部门将为两家医院提供服务,它将是中央部门
  3. 每家医院都有自己的组织结构图

基于上述基础设施,我想知道我应该在我们的应用程序中进行哪些更改?

我正在考虑使用 Web 服务和存储库模式,在我们的情况下是否推荐它?但我仍然不确定该做什么、使用什么以及使用哪种技术

任何想法都将受到高度赞赏

将窗口从 C# 应用程序转换为 n 层和 n 层面向服务的应用程序

呼...我会选择"传统的"n 层和 n 层应用程序。有一个中央数据库,用户被他们工作或服务的特定医院"分开"。虽然,也许超级用户也可以全面了解两家医院的数据。

为什么现在使用 VPN 连接?互联网连接是一种选择吗?

传统的设置可能是这样的:

  1. 数据库(SQL Server)
  2. 数据访问层(实体框架)
  3. Web Application (
  4. 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 服务,存储库模式。请注意,熟悉新技术和框架可能需要一些时间。

做一个谷歌搜索,让自己消息灵通。祝你好运!