【问题标题】:What is difference of developing a website in MVC and 3-Tier or N-tier architecture?在 MVC 和 3 层或 N 层架构中开发网站有什么区别?
【发布时间】:2011-02-20 01:28:14
【问题描述】:

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

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

【问题讨论】:

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


【解决方案1】:

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

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

维基百科说:

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

来源:Wikipedia: Multitier architecture

【讨论】:

  • 在大多数现代 MVC 框架中,模型从不与视图通信。一切都通过控制器。
猜你喜欢
  • 2012-05-31
  • 2011-05-20
  • 2017-07-05
  • 2012-07-17
  • 1970-01-01
  • 1970-01-01
  • 2016-10-05
  • 1970-01-01
  • 2018-04-01
相关资源
最近更新 更多