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

时间:2010-05-16 10:16:24

标签: php model-view-controller n-tier-architecture 3-tier

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

哪一个更好?什么是利弊?

1 个答案:

答案 0 :(得分:13)

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

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

维基百科说:

  乍一看,三层可能   看起来类似于MVC(模型视图   控制器)概念;然而,   在拓扑上它们是不同的。一个   三层基本规则   架构永远不是客户层   直接与数据通信   层;全部采用三层模式   沟通必须通过   中间件层。从概念上讲   三层架构是线性的。   但是,MVC架构是   三角形:视图发送更新   控制器,控制器更新   模型,视图得到更新   直接来自模型。

来源:Wikipedia: Multitier architecture