具有控制器和非MVC的体系结构的名称

本文关键字:体系结构 MVC 控制器 | 更新日期: 2023-09-27 18:21:48

我当前的项目由2个项目(层)组成

1.控制器

在该控制器中可以找到以下文件夹。

  1. BusinessLogic
  2. DataAccess
  3. 实体

这些文件夹中的每一个都包含要连接到数据库的代码、要连接到数据库的逻辑以及包含属性的实体。

2.Web应用程序

这个层由aspx页面、用户控件、脚本等组成

我想知道采用的是哪种架构。我听说这是三层架构。如果是,为什么是控制器?

具有控制器和非MVC的体系结构的名称

这更多的是关注点的分离。即,数据访问层使用实体直接与数据库对话,它不了解业务层。它的主要工作是连接到数据库并返回数据。

业务层在那里与数据访问层通信,并相应地操作数据(取决于您的业务)。

然后,web应用程序与您的业务应用程序/域层进行对话并显示内容。

通常,数据访问、业务层和实体通过项目而不是文件夹来分离。

首先,根据您的描述,他们似乎只是将一个项目命名为控制器,但根据MVC模式,它没有任何标准控制器的角色。他们可能认为该项目控制着业务逻辑和数据访问,所以他们只是给出了这个名称。如果可能的话,您可以询问应用程序的架构师或SME(主题专家)。

其次,我认为您应该考虑Layers和Tiers之间的区别。你在这里讨论的似乎是层次。

层都是关于分配应用程序的职责。看看http://fewagainstmany.com/blog/introduction-to-layered-architecture-part-one.三层架构可能涉及三个项目,也可能不涉及。

应用程序中的层是逻辑分离单元。例如,您可能有用户界面层、业务逻辑层、服务层、数据访问层。每个层都应该有代码来实现应用程序的那个部分/单元。

该层表示分离/部署的物理单元。如果所有层(用户界面层、业务逻辑层、服务层、数据访问层)都部署在同一台服务器机器中,那么您只有一层。看看http://blog.simcrest.com/what-is-3-tier-architecture-and-why-do-you-need-it/

通常,随着用户数量(或应用程序负载)的增加,单个服务器无法有效执行,那么我们需要尽可能添加更多层,或者需要使用更强大的服务器。

所以层数可以小于或等于您拥有的层数。您只能在设计阶段告诉层的数量,因为应用程序的体系结构已经决定,但层的数量可以在计划部署后确认。

第三,如果只有两个项目内部有一些文件夹,那么它只是两个稍后的体系结构。如上所述,层的数量取决于项目的部署。

如有任何问题,请随时讨论。谢谢