Answers:
N层体系结构通常使每一层都被网络分隔开。IE表示层位于某些Web服务器上,然后通过网络与后端应用程序服务器进行业务逻辑对话,然后再次与网络上的数据库服务器进行对话,也许应用程序服务器还调出了一些远程服务(说Authorize.net进行付款处理)。
MVC是一种编程设计模式,其中代码的不同部分负责表示某些应用程序中的模型,视图和控制器。这两件事是相关的,因为例如模型层可能具有内部实现,该实现调用数据库以存储和检索数据。控制器可以驻留在Web服务器上,并远程调用应用服务器以检索数据。MVC抽象了如何实现应用程序体系结构的细节。
N层仅指实现的物理结构。有时会混淆这两者,因为MVC设计通常是使用N层架构实现的。
如果三层设计是这样的:
Client <-> Middle <-> Data
MVC模式将是:
Middle
^ |
| v
Client <- Data
意思是:
PS 客户端将成为视图并成为控制器的中间部分
这就是关于n层架构的说法
乍一看,这三个层次似乎与MVC(模型视图控制器)概念相似。但是,在拓扑上它们是不同的。三层体系结构中的一个基本规则是,客户端层永远不会直接与数据层通信。在三层模型中,所有通信都必须通过中间件层。从概念上讲,三层体系结构是线性的。但是,MVC体系结构是三角形的:视图将更新发送到控制器,控制器更新模型,视图直接从模型更新。
唯一的相似之处在于,这两种模式在它们的图中都有三个框。从根本上说,它们的用途完全不同。如果确实如此,通常不是在使用哪种模式之间进行选择,而是可以将两种模式和谐地结合使用。这是两者的良好比较:http : //allthingscs.blogspot.com/2011/03/mvc-vs-3-tier-pattern.html
三层体系结构中的一个基本规则是,客户端层永远不会直接与数据层通信。在三层模型中,所有通信都必须通过中间件层。
它是班轮架构。这解决了如何在用户和数据库之间传递信息的问题。MVC是一个三角体系结构:视图将更新发送到控制器,控制器更新模型,视图直接从模型更新。这解决了用户界面如何管理屏幕上的组件的问题。
@Cherry中间件的工作方式更像是MVC模式中的请求处理程序或重定向器。
我想解释一下MVC,据我说,模型视图控制器的工作原理是这样的。
我所知道的就是关于MVC的全部内容。
杰里:这是一个简单的例子,说明两者之间的关系:
第1层 -包括通过某种网络服务或类似网络与第2层通信的模型,控制器来处理输入验证,计算以及与视图相关的其他事项。它当然包含视图本身-可以是桌面应用程序中的GUI,也可以是Web应用程序中的Web界面。
第2层 -包含从第1层接收消息的某种服务或其他方式。不知道/不应该知道第1层,因此只能接听来自上层的电话-绝不自行询问。还包含所有业务逻辑。
第3层 -包含域模型,数据库的对象表示形式以及所有用于通信和更新数据库条目的逻辑。
在三层模型中,所有通信都必须经过中间层。从概念上讲,三层体系结构是线性的。但是,[model-view-controller] MVC体系结构是三角形的:视图将更新发送到控制器,控制器更新模型,并且视图直接从模型中更新。