24

在 MVC 和 3 层或 N 层架构中开发网站有什么区别?

哪一个更好?有什么优点和缺点?

4

1 回答 1

13

它们几乎相同,但是在 3 层中,顶层(表示)从不直接与底层(数据持久性)通信。

在模型-视图-控制器中,理论上模型应该“通知”视图它已更改,以便视图可以更新。但是,这在大多数 Web 应用程序中通常不是问题,因为它们是无状态的。我不确定是否有任何著名的 PHP MVC 架构具有直接与模型通信的视图,反之亦然,但如果没有,那么说它们实际上是 3 层是正确的。

维基百科说:

乍一看,这三层似乎类似于 MVC(模型视图控制器)的概念;但是,在拓扑上它们是不同的。三层架构中的一个基本规则是客户端层从不直接与数据层通信。在三层模型中,所有通信都必须通过中间件层。从概念上讲,三层架构是线性的。但是,MVC 架构是三角形的:View 向 Controller 发送更新,Controller 更新 Model,而 View 直接从 Model 更新。

来源:维基百科:多层架构

于 2010-05-16T10:31:57.140 回答