两层和三层实际实施

时间:2013-06-30 06:05:47

标签: database architecture

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

3 Tier Architecture vs 2 Tier Architecture

Explain the different tiers of 2 tier & 3 tier architecture?

我读了这两个链接,所以我理解不多。

但仍然无法实现它们的实现方式我的意思是用编程语言说。

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

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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

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

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

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

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

因此,层数可以小于或等于您拥有的层数。您可以在设计阶段确定层数,因为确定了应用程序的体系结构,但是层数您可以在计划部署后确认。

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

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