.net 三层与三层的主要区别;NET中的n层体系结构?

.net 三层与三层的主要区别;NET中的n层体系结构?,.net,n-tier-architecture,3-tier,.net,N Tier Architecture,3 Tier,我在Google上搜索了一下.net中3层和n层架构的主要区别,但没有找到。一些网站称两者性质相同,一些网站称两者之间存在差异 我想知道主要的区别,哪一个在性能优化方面更好?3层体系结构是软件开发中的通用体系结构,它包括 表示层(客户端浏览器) 应用程序或业务逻辑层 数据层 Net中的n层体系结构 主要区别在于n层拱门增加了两层。数据层示例开发人员的一部分是SQL开发人员,他们在DB server上工作(创建DB结构、编写存储过程等),另一部分是.Net开发人员,他们在使用存储过程和进行抽

我在Google上搜索了一下.net中3层和n层架构的主要区别,但没有找到。一些网站称两者性质相同,一些网站称两者之间存在差异

我想知道主要的区别,哪一个在性能优化方面更好?

3层体系结构是软件开发中的通用体系结构,它包括
  • 表示层(客户端浏览器)

  • 应用程序或业务逻辑层

  • 数据层

Net中的n层体系结构

主要区别在于n层拱门增加了两层。数据层示例开发人员的一部分是SQL开发人员,他们在DB server上工作(创建DB结构、编写存储过程等),另一部分是.Net开发人员,他们在使用存储过程和进行抽象(实现存储库模式)方面工作


希望这对你有所帮助。

我知道这个问题由来已久,但真正简单且最终正确的答案是:

三层是N层,其中N=3。

N层应用程序是一种具有3个或更多物理层的应用程序。我的意思是,“表示层/客户机层”、“应用程序/业务服务器层”和“数据层”(在大多数情况下是数据库服务器),现在我们使用web服务(甚至更好,WCF服务)在表示层和应用程序服务器层之间进行通信。在这里,您可以看到一幅关于N层体系结构的简单而典型的图片:

另一个问题是,我们可能会将应用程序设计为一个N层应用程序,我的意思是,有几个逻辑层,在这些层中我们实现不同的逻辑任务。例如,根据我们使用的模式,我们可以有DAL层(数据访问层)、BLL层(业务逻辑层)、BFLL层(业务外观逻辑层)、WCF服务层和几个表示层,如MVC(模型视图控制器)、MVP(模型视图演示器)等。。此外,在N层体系结构中,您可以猜测实体框架适合作为DAL层(数据访问类),以及使用EF实体作为断开连接的实体来通过所有层,好吗

顺便说一句,并非所有N层应用程序都应该是N层应用程序,但所有N层应用程序必须在内部设计为N层。我的意思是,在很多情况下,物理拆分模型的次数越少,性能就越好(更多的层有利于可伸缩性,但由于延迟,不利于纯性能)。记住,N层是关于逻辑层的


好的!,因此,如果我们回到N层体系结构(物理层),就像我说的,我们需要远程机制来将客户端层与应用服务器层(例如,WCF服务)通信,因此当我们从应用服务器层查询数据库以获取数据(如订单)时,我们将其作为EF实体保留,然后我们将其与EF上下文断开连接(detach),WCF将其序列化,并将断开连接的实体发送到表示层(客户端应用程序和机器)。N层与
3层之间的区别如下所示

3层
应用程序中,有三层,如表示层、应用层和数据层。在这里,应用层也包含业务逻辑


另一方面,在
N层中
应用层分为2层,即应用层和业务逻辑层。根据来自表示层(不同的操作系统、不同的平台等)的数据,您可以将应用程序层添加到
N
个数。

非常接近重复:它们是相同的基本架构模式,但3层始终有3层,而N层有可变的层数。如果没有任何关于环境、基础设施、预期用途、性能优化类型、应用程序结构和功能等方面的限制,就不可能准确地说明哪一个更适合性能优化。我认为您所解释的是三层体系结构,而不是三层,层指的是应用程序的物理分区,而不是逻辑分区。答案是错误的。层与层之间存在着明显的差异。答案是混淆层和层。