MVC与n-tier架构的比较

150

我想知道MVC(一种架构模式)和n层架构在应用程序中的区别。我搜索了一下,但找不到简单的解释。也许我对MVC概念有点幼稚,所以如果有人能够解释一下它们之间的区别,那就太好了。

12个回答

2
Jerry: 这里有一个简单的例子来说明两者之间的关系:

Tier 1 - 包含与Tier 2通过某种网络服务或类似服务进行通信的模型,控制器用于处理输入验证,计算和其他与视图相关的事项。它当然也包括视图本身,可以是桌面应用程序中的GUI,也可以是Web应用程序中的Web界面。


Tier 2 - 包含某种服务或其他方式接收来自Tier 1的消息。不知道/不应该知道Tier 1,因此只能响应上层调用-永远不会自己请求东西。还包含所有业务逻辑。


Tier 3 - 包含域模型、数据库对象表示以及所有通信和更新数据库条目的逻辑。


2

N层架构不会直接与数据访问层通信。在三层架构中:

  • 表示层呈现相关的用户界面(UI),
  • 业务逻辑层包含相关的逻辑,然后是
  • 数据访问层。

所有数据都通过中间层进行通信。表示层<->业务层<->数据。

MVC(模型-视图-控制器)架构是三角形的。

  • 视图将更新发送到控制器,
  • 控制器更新模型,
  • 然后视图直接从模型获取更新。

模型(数据), 视图(UI), 控制器(逻辑)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接