N 层体系结构和冗余数据库访问
本文关键字:数据库 访问 冗余 体系结构 | 更新日期: 2023-09-27 18:32:59
作为硕士论文的一部分,我将开发一个用于公寓热量优化的软件。该软件将中等大小,并将具有面向客户的基于Web的界面和面向传感器的界面(放置在公寓中(。我正在考虑多层架构。系统中的许多对象都有自己的数据库表。这意味着需要大量的代码和SQL语句(和时间(来保存和检索对象。这仍然是开发软件的标准方式吗?
我考虑过使用NHibernate,但我有疑问,主要原因是:我在软件开发方面没有太多经验。
会话处理似乎相当复杂,特别是如果必须有一个业务层为Web界面和传感器接口提供功能。由于延迟加载,我需要在这些接口上激活会话,但随后表示层知道数据访问层,这是不希望的。
那么,还有其他选择吗?我正在使用MySql 5.5和C#。
目前 Web 开发中的正统观念是 MVC;在Microsoft土地上,这意味着 ASP.Net MVC。MS 站点有一个很棒的教程,描述了如何将代表您的业务领域的"模型"类与数据库集成的方式。
ASP.Net MVC 还提供了一种构建 Web API 的方法 - 这应该允许传感器使用相同的基础模型类与应用程序通信。
,你有一个固有的逻辑分区,应该导致将传感器-数据库通信抽象到一层,将客户-数据库通信抽象到另一层。传感器端可以提供一组只读接口,以向客户端提供信息(根据需要(,而热优化工作的核心功能基本上可以位于中间。
如果您花一些时间考虑如何对这些部分进行分区,从而允许您在两者之间定义干净的接口,那么整个项目的复杂性至少应该会降低一些。
如果你"我在软件开发方面没有太多经验",我会仔细考虑NHibernate。虽然它是一个了不起的工具并且非常强大 - 学习曲线可能很陡峭,取决于你想花多少时间来学习它。话虽如此,我对此感到非常满意。