【问题标题】:MVC or Rest or BothMVC 或 Rest 或两者兼而有之
【发布时间】:2011-06-17 22:27:37
【问题描述】:

我正在设计一个基于 Web 的用户界面的服务器端,这将是 JavaScript 密集型的。

我最初想使用 MVC 解决方案,但现在我想使用基于 REST 的解决方案,例如 Jersey 或 Restlets。

这通常是一种或另一种类型的决定,还是可以作为一种组合解决方案?

谢谢, 迈克

【问题讨论】:

  • MVC 和 REST 是完全不同的概念。
  • rest 和 MVC 有什么共同点?
  • 您是指基于请求的 MVC 还是基于组件的 MVC 框架?

标签: java javascript model-view-controller rest architecture


【解决方案1】:

MVC 是关于应用程序内部如何工作的。

REST 是关于您的应用如何与其他应用“对话”的。

你可以把它们组合起来。

许多现代框架实际上都是基于 MVC 的,并且可以轻松实现 REST Web 服务:Ruby on Rails、带有 SpringMVC 的 Java Spring Framework、Django、Backbone.js

【讨论】:

  • MVC 是一种设计模式,用于创建关注点分离并避免紧密耦合的数据、业务和表示逻辑。 REST 是关于与无状态资源交互的。 Spring 本身并不是一个 MVC 框架。 RoR 的 Java 表亲是使用 Groovy 的 Grails。
  • 正如您在稍后的回答中指出的那样“我见过的用于构建能够支持 REST 的 MVC Web 应用程序的最佳 Java 框架之一是 SpringMVC”
  • 当我阅读到目前为止的回复时,我意识到我可能应该更具体一点。我确实了解 MVC 和 REST 之间的区别。我认为我的问题与我正在使用的框架有关。我正在使用 FrontMan。它是使用前端控制器的轻量级 Java MVC 框架。所有请求都从前端控制器分派到适当的类以处理请求。 myserver.com/myapp/doSomething myapp/* 被映射到前端控制器我想知道如何处理 REST 请求。我认为他们不应该通过前端控制器
  • 是的,他们应该这样做。对 myserver.com/myapp/resource 等资源的纯 HTTP 请求中的 REST 请求。
【解决方案2】:

它们是解决不同问题的模式/解决方案。

REST 为用户、客户端软件等清理并简化了对 Web 应用程序功能的寻址访问。

MVC 提供了一种组织应用程序代码的方法,使其更易于维护。

【讨论】:

    【解决方案3】:

    SpringMVC 是我见过的用于构建能够支持 REST 的 MVC Web 应用程序的最佳 Java 框架之一。 This blog post 概述了自 3.0 版以来 SpringMVC 中的 REST 功能。我使用 SpringMVC 和 Jersey 开发了 REST 服务,它们具有相当的可比性。

    【讨论】:

    【解决方案4】:

    MVC 是一种适用于应用程序层的架构设计模式。

    文件夹结构:

    Models/YourClassModel.php
    Views/Home/HomeView.php
    Controllers/Controller.php
    index.php
    

    应用程序样式REST 是应用程序的具象状态转移

    【讨论】:

      猜你喜欢
      • 2015-10-14
      • 2017-12-28
      • 1970-01-01
      • 1970-01-01
      • 2018-12-01
      • 2020-02-04
      • 1970-01-01
      • 1970-01-01
      • 2010-12-17
      相关资源
      最近更新 更多