将 windows 形式的 C# 应用程序转换为 n 层和 n 层面向服务的应用程序
Converting windows form C# application to n-tiered and n-layered service oriented application
我们正在为一家医院开发现有的 windows 表单人力资源程序,该程序是用 C#、L2S (DBML) 和 Sql2005 编写的,并且使用 LINQ
对查询进行硬编码
目前的应用程序不支持多分支概念,我对这种应用程序没有经验,目前我对基础设施的了解是:
- 两家医院之间将建立 VPN 连接
- 人力资源部将为两家医院提供服务,它将是中央部门
- 每家医院都有自己的组织结构图
基于以上基础设施,我想知道我的应用程序应该做哪些更改?
我正在考虑使用 Web 服务和存储库模式,在我们的情况下是否推荐这样做?但我仍然不确定该做什么、该使用什么以及该使用哪种技术
任何想法将不胜感激
Phew...我会选择 "traditional" n 层和 n 层应用程序。使用中央数据库,其中用户 "separated" 按他们正在工作或为之工作的特定医院分类。虽然,也许超级用户也可以全面了解两家医院的数据。
最近为什么要使用 VPN 连接?互联网连接是一种选择吗?
传统设置可能是这样的:
- 数据库(SQL服务器)
- 数据访问层(Entity Framework)
- Web 应用程序(ASP.NET MVC)/Windows WPF 中的应用程序(MVVM)
关于这种设置的一个很好的介绍可以遵循 here。这可能会给您一些具体的帮助,并为您指明正确的方向。
初始数据库设计看起来像这样(多分支;):
医院
- ID
- 姓名
员工
- ID
- 姓名
- 医院 ID(FK -> Hospital.ID)
用户
- ID
- 姓名
- 医院 ID(FK -> Hospital.ID)
对
- ID
- 姓名
用户权限
- 用户 ID(FK -> User.ID)
- RightID (FK -> Right.ID)
多分支部分由用户权限table实现。在这里,用户被授予(关系耦合)查看特定类型数据(员工、薪水、评论等)的权利。 UserRight系统中的信息(业务规则)被翻译成业务访问层和UI。当用户登录(验证)时,您可以根据他或她的权限轻松启用/禁用某些功能
必须说,这是您、您的同事和您的客户选择使用新的现代框架的好机会。正如您已经说过的 Web 服务、存储库模式。请注意,熟悉新技术和框架可能需要时间。
做一个Google search,让自己见多识广。祝你好运!
我们正在为一家医院开发现有的 windows 表单人力资源程序,该程序是用 C#、L2S (DBML) 和 Sql2005 编写的,并且使用 LINQ
对查询进行硬编码目前的应用程序不支持多分支概念,我对这种应用程序没有经验,目前我对基础设施的了解是:
- 两家医院之间将建立 VPN 连接
- 人力资源部将为两家医院提供服务,它将是中央部门
- 每家医院都有自己的组织结构图
基于以上基础设施,我想知道我的应用程序应该做哪些更改?
我正在考虑使用 Web 服务和存储库模式,在我们的情况下是否推荐这样做?但我仍然不确定该做什么、该使用什么以及该使用哪种技术
任何想法将不胜感激
Phew...我会选择 "traditional" n 层和 n 层应用程序。使用中央数据库,其中用户 "separated" 按他们正在工作或为之工作的特定医院分类。虽然,也许超级用户也可以全面了解两家医院的数据。
最近为什么要使用 VPN 连接?互联网连接是一种选择吗?
传统设置可能是这样的:
- 数据库(SQL服务器)
- 数据访问层(Entity Framework)
- Web 应用程序(ASP.NET MVC)/Windows WPF 中的应用程序(MVVM)
关于这种设置的一个很好的介绍可以遵循 here。这可能会给您一些具体的帮助,并为您指明正确的方向。
初始数据库设计看起来像这样(多分支;):
医院
- ID
- 姓名
员工
- ID
- 姓名
- 医院 ID(FK -> Hospital.ID)
用户
- ID
- 姓名
- 医院 ID(FK -> Hospital.ID)
对
- ID
- 姓名
用户权限
- 用户 ID(FK -> User.ID)
- RightID (FK -> Right.ID)
多分支部分由用户权限table实现。在这里,用户被授予(关系耦合)查看特定类型数据(员工、薪水、评论等)的权利。 UserRight系统中的信息(业务规则)被翻译成业务访问层和UI。当用户登录(验证)时,您可以根据他或她的权限轻松启用/禁用某些功能
必须说,这是您、您的同事和您的客户选择使用新的现代框架的好机会。正如您已经说过的 Web 服务、存储库模式。请注意,熟悉新技术和框架可能需要时间。
做一个Google search,让自己见多识广。祝你好运!