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

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

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


答案 1

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

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

维基百科 说:

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

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


答案 2

推荐