1

我正在创建一个小型数据库应用程序。在这些应用程序中,我使用 java swing 并使用 Hibernate 访问数据库。昨天我朋友问我你用的是两层还是三层的架构?我的回答是我不知道。然后我在谷歌上搜索并找到了一些答案,这些答案的链接如下。

3 层架构与 2 层架构

解释 2 层和 3 层架构的不同层?

我读了这两个链接,所以我了解的很少。

但是仍然无法知道它们是如何实际实现的,我的意思是用编程语言说。

我仍然无法理解它是什么?是如何实施的?你能给我一个实施它们的实际例子吗?

4

2 回答 2

3

在您的应用程序中,您有一个基于 Swing 的 GUI 和一个到 DB 的连接。当用户通过 GUI 进行一些更改时,它会立即反映在 DB 上(即更新/插入/删除等)。因此,您有一个 2 层架构(GUI + DB)。

现在假设当用户通过 GUI 进行一些更改时,而不是直接转到 DB,您正在向处理您的请求的某个服务器(例如 Web 服务器)发送适当的请求,然后在 DB 上执行适当的操作。在这种情况下,您有一个 3 层架构(GUI + 服务器 + DB)

于 2013-06-30T06:26:46.283 回答
1

根据您与 Grisha 的讨论,您似乎需要考虑层和层之间的区别。

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

该层代表分离/部署的物理单位。如果所有层(用户界面层、业务逻辑层、服务层、数据访问层)都部署在同一台服务器机器上,那么您只有一层。

如果数据库托管在单独的机器上,而所有其他层都托管在另一台服务器上,那么您有两层。

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

因此,层数可以小于或等于您拥有的层数。层数只能在设计阶段说出来,因为应用的架构已经决定了,但是层数可以在你规划好部署之后再确定。

请查看“设计的可扩展性选项”部分@ http://www.codeproject.com/Articles/70061/Architecture-Guide-ASP-NET-MVC-Framework-N-tier-En

如果您有任何进一步的问题,请随时讨论。谢谢

于 2013-07-01T08:42:30.320 回答