在MVC和3层或N层架构中开发网站有什么区别?
哪一个更好?什么是利弊?
答案 0 :(得分:13)
它们几乎相同,但在3层中,顶级(演示)从不直接与底层通信(数据持久性)。
在模型 - 视图 - 控制器中,从理论上讲,模型应该“通知”View已经更改,以便View可以更新。但是,这在大多数Web应用程序中通常不是问题,因为它们是无状态的。我不确定任何着名的PHP MVC架构是否具有直接与模型通信的视图,反之亦然,但如果不是,那么说它们实际上是3层是正确的。
维基百科说:
乍一看,三层可能 看起来类似于MVC(模型视图 控制器)概念;然而, 在拓扑上它们是不同的。一个 三层基本规则 架构永远不是客户层 直接与数据通信 层;全部采用三层模式 沟通必须通过 中间件层。从概念上讲 三层架构是线性的。 但是,MVC架构是 三角形:视图发送更新 控制器,控制器更新 模型,视图得到更新 直接来自模型。