我想使用三层架构开发基于 ASP.net 和 Oracle 的应用程序,其中数据访问层将保存在完全不同的服务器(Linux)上。我之前发布了一个问题,有人建议我使用 General asp 和 NHibernate。现在,在我启动 Web 应用程序之前,我想确定这一点。请详细分享您的想法。
谢谢
我想使用三层架构开发基于 ASP.net 和 Oracle 的应用程序,其中数据访问层将保存在完全不同的服务器(Linux)上。我之前发布了一个问题,有人建议我使用 General asp 和 NHibernate。现在,在我启动 Web 应用程序之前,我想确定这一点。请详细分享您的想法。
谢谢
我看到两个问题:使用什么分层和分层,以及什么技术。
分层:我有两个定义问题:
通常,您具有分布在各个层上的逻辑层。一种在层上分布层的方法(如果我正确阅读了你的问题,你正在拍摄的那个):
通信:1 <> 2:HTTP,2 <> 3:本机数据库格式。
技术:NHibernate 是一个好主意,但如果您是 O/RM 世界的新手,可能会有点挑战。如果您确实选择了 NH,请查看 Fluent NHibernate 的努力;这使您可以在 C# 中指定实体和数据库表之间的映射,而不是使用 XML。如果您发现 NHibernate 有点令人生畏,请查看标准 Microsoft 解决方案,例如 Entity Framework。当前版本存在一些问题,但对于简单的系统而言,这些问题可能不是什么大问题。
您是否考虑过使用 ASP.NET MVC?如果是这样,S#arp 架构是一个不错的起点(对于 MVC 和 NHibernate 都是如此)。另一个建议是查看 CSLA,它也是一种开源架构。CSLA 的设计并未考虑可测试性或关注点分离,但可能更容易理解。
您可以将 ASP.NET Webforms 或 ASP.NET MVC 用于 UI,并使用其他层用于业务逻辑和数据访问。以下是我团队项目的分层/分层方式:
第 1 层:Windows Server 2003 (IIS)
2级:
我希望这会有所帮助。