我目前的项目包括 2 个项目(层)
1.控制器
在此控制器中可以找到以下文件夹。
- 商业逻辑
- 数据访问
- 实体
这些文件夹中的每一个都包含连接到数据库的代码、连接到数据库的逻辑以及实体包含属性。
2.网络应用
该层由 aspx 页面、用户控件、脚本等组成
我想知道正在遵循哪种架构。有人告诉我这是三层架构。如果是这样,为什么是控制器?
我目前的项目包括 2 个项目(层)
1.控制器
在此控制器中可以找到以下文件夹。
这些文件夹中的每一个都包含连接到数据库的代码、连接到数据库的逻辑以及实体包含属性。
2.网络应用
该层由 aspx 页面、用户控件、脚本等组成
我想知道正在遵循哪种架构。有人告诉我这是三层架构。如果是这样,为什么是控制器?
这更多的是关注点分离。即数据访问层使用实体直接与数据库对话,它不了解业务层。它的主要工作是连接到数据库并返回数据。
业务层用于与数据访问层通信并相应地操作数据(取决于您的业务)。
然后,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/
通常随着用户数量(或应用程序负载)的增加,单个服务器无法高效执行,那么我们需要尽可能添加更多层或需要用户更强大的服务器。
因此,层数可以小于或等于您拥有的层数。层数只能在设计阶段说出来,因为应用的架构已经决定了,但是层数可以在你规划好部署之后再确定。
第三,如果只有两个项目里面有一些文件夹,那么它只是两个后来的架构。如上所述,层数取决于项目的部署。
如果有任何问题,请随时讨论。谢谢。