3 Layer and 3 Tier

本文概述了层与级的概念,并详细解释了三层架构与三层架构在代码组织、部署和功能分布上的区别。通过比较这两种架构,文章揭示了它们在提高可读性、减少应用变动、实现分布式功能和增强可扩展性方面的优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Before moving to understand what is difference between 3 Tier Architecture and 3 Layer architecture lets have an overview about what is Tier and What is Layer ???

The layers reside on the same machine where the tiers can reside on different machines.

Layer communicates with each other either by Value or by Reference. However the Tiers could be on different machines, so they communicate by Value only – as serialized objects.

Layer is logical separation of code and Tier is physical separation of code, In other words we can say Tiers are the physical deployment of layers. Or a Tier becomes a Layer if it could be physically separated from the Layers it consumes.

N-Tier Architecture is a physical structuring, while a N-Layer Architecture is a logical structuring.

Now coming to 3 Layer Architecture and 3 Tier Architecture after getting an idea about Layer and Tier.

In 3 layer architecture, the Database Access Layer (DAL), Business Logic Layer (BLL) and User Interface Layer (UIL) resides as 3 different project and the output of these 3 projects (.dll file) must be together in the same server or on same machine in order for the system to run.However in 3 tier architecture, the Database Access Layer (DAL), Business Logic Layer (BLL) and User Interface Layer (UIL) reside as 3 different projects. But each of the projects can be deployed at the different server or at the different machines and distributed functionality is explored.

In 3 layer architecture DAL, BLL and UIL can work on same machine where as in a 3 Tier architecture a client in on one machine, the application Server is hosted in another machine and the database server resides in another machine i.e. Three-tier is a client–server architecture in which the User Interface, Business Logic , Data Storage and Data Access are developed and maintained as independent modules on separate platforms.

In 3 Layer we have distinct namespaces and classes for the various layes i.e. we’re only talking about logical organization of code and passing objects between layers is easy as all assemblies will run under same application in single machine.But 3 tier applications are not straight as 3 layers, because each layer will be deployed in different machines. So here, we need a mechanism to send the objects between different machines over the network hence we use technologies called Web Services, Remoting or WCF, etc. in order to implement 3 tier applications

3 Layer Architecture will improve readability and reusability, Minimizes the application changes due to impact of the changes in other layers. While 3 Tier Architecture has all advantages of 3 layer + scalability as application will be deployed in different machines so load will be shared among the tiers and scalability will increase.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值