我正在创建一个小型数据库应用程序。在这些应用程序中,我使用java swing并使用Hibernate访问数据库。
昨天我的朋友问我使用两层或三层架构?
我的回答是我不知道。
然后我在谷歌搜索并找到了一些答案,这些答案的链接如下。
3 Tier Architecture vs 2 Tier Architecture
Explain the different tiers of 2 tier & 3 tier architecture?
我读了这两个链接,所以我理解不多。
但仍然无法实现它们的实现方式我的意思是用编程语言说。
我仍然无法理解它是什么?如何实施?你能给我一个实施例子吗?
答案 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
如果您有任何进一步的问题,请随时再讨论。感谢