【问题标题】:What are the advantages of MVC over 3-Layer Architecture in web applications?在 Web 应用程序中,MVC 与 3 层架构相比有哪些优势?
【发布时间】:2011-03-06 05:39:27
【问题描述】:

请注意,我指的是 3 层(逻辑分层)而不是 3 层(物理)。

也不要误会,我并不痴迷于设计模式。我是一名计算机科学专业的学生,​​他们问了我这个棘手的问题,所以我试图找到一个聪明的答案。

感谢您提前回答!

【问题讨论】:

  • 你说的这个三层架构是什么?
  • 你有 3 层——表示层、业务逻辑层和数据访问层。表示与业务层对话,而业务层通过数据访问层与数据库对话。这里有一篇文章讨论了它们之间的区别blogs.msdn.com/b/diegumzone/archive/2006/10/09/…,但它们之间的差异非常微妙,以至于我看不出一个比另一个的优势。

标签: model-view-controller web-applications architecture


【解决方案1】:

它们不是相互竞争的理念,MVC 传统上处理应用程序的表示层,即三个层之一。

【讨论】:

  • 不幸的是,许多人认为 MVC 本身不是其中的一层,而是代表传统 3 层架构的所有 3 层。
【解决方案2】:

MVC 完全是关于关注点的分离——但处理的细节在于 View 与模型和控制器松耦合;对于 3 层,这不是明确要求的。

是的 - 您可以(并且应该)将所有三层松散耦合,但这并不是 3-Tier 明确要求的;使用 MVC 就是这样。

顺便说一句:MVC 是一种针对特定问题的特定模式,在将其称为“架构”时我会小心。

Microsoft 的 ASP.NET MVC 实现的一个优点是它提供了各种集成点和灵活性,而“标准”ASP.NET 并不那么容易访问 - 我猜你可以说是/传统上在构建 web 时使用- 基于 MS 空间的 3-trie 系统。

【讨论】:

    【解决方案3】:

    这个问题是一个技巧的原因是 MVC 是一个三层设计。

    Model 是数据库,View 是 UX,Controller 是应用层。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-28
      • 2013-09-22
      • 2012-05-17
      • 1970-01-01
      • 2013-09-01
      • 2011-06-14
      • 2023-03-11
      • 1970-01-01
      相关资源
      最近更新 更多