【问题标题】:What is an MVC framework and why is it necessary/useful?什么是 MVC 框架,为什么它是必要的/有用的?
【发布时间】:2009-10-31 15:49:27
【问题描述】:

我知道 MVC 框架允许您分离业务逻辑、数据库访问和表示,但是为什么我们需要一个框架来做到这一点。

难道我们不能让我们的类分开,也许对模型、视图和控制器类使用不同的包/文件夹吗?

【问题讨论】:

    标签: model-view-controller


    【解决方案1】:

    在我看来,您所说的是 MVC 模式,而不是特定的框架。当然,您可以将所有类保留在一个项目中,并且仍然使用 MVC 模式,因为您在视图中拥有所有 UI 代码,在控制器中拥有逻辑......

    另一方面,MVC 框架使您更容易使用这种模式。它可能会为控制器提供一些基类以及视图和控制器之间的通信机制。

    不知道你是否熟悉 ASP.NET MVC。框架本身非常小,但它可以帮助您使用 MVC 模式开发应用程序,因为您不必考虑前面描述的领域...

    希望对你有帮助

    【讨论】:

      【解决方案2】:

      MVC 框架是为拆分业务逻辑、数据库访问和表示而编写的框架。

      这在大多数 Web 应用程序中都非常有用,最近也用于软件/桌面应用程序。

      这是因为遵循 MVC 模型,您的代码会更加清晰、干净,并且您的应用程序会保持 DRY(不要重复自己)。

      您可以编写自己的类并将它们分成模型、视图和控制。但同样,您将需要一个框架来帮助您完成某些任务。像 ASP.NET 中的 List 控件,或者能够帮助您在语言之间翻译文本的 PHP 框架等等。 (哦,为什么要重新发明轮子?!)

      【讨论】:

      • 最初的 MVC 实际上是为支持经典的基于文本的应用程序而设计的,以及后来的桌面应用程序。它在网络世界中的出现要晚得多,而且通常是最后一个获得有用的 MVC 框架的时间。
      【解决方案3】:

      MVC 和框架是不同的东西。 MVC 只是一种架构模式,可以应用于任何项目,无论是否有框架。

      所以您不需要框架来执行此操作。您可以自己将它们分开。 :)

      【讨论】:

        【解决方案4】:

        MVC 代表“模型”“视图”“控制器”。 ASP.NET MVC 是一种以不同于传统 ASP.NET Web 开发的方式开发 ASP.NET Web 应用程序的体系结构。使用 ASP.NET MVC 开发的 Web 应用程序对 SEO(搜索引擎)更加友好。 开发 ASP.NET MVC 应用程序需要 Microsoft .NET Framework 3.5 或更高版本。

        型号:

        • MVC 模型基本上是一个 C# 或 VB.NET 类。
        • 控制器和视图都可以访问模型。
        • 模型可用于 将数据从控制器传递到视图。
        • 视图可以使用模型来显示 页面中的数据。

        查看:

        • 视图是一个没有代码隐藏文件的 ASPX 页面。
        • 所有页面特定的 HTML 生成和格式化都可以在视图内完成。
        • 可以使用内联代码(服务器标签)开发动态页面。
        • 只能从控制器的操作方法发出查看请求(ASPX 页面)

        控制器:

        • Controller 基本上是一个继承 system.mvc.controller 的 C# 或 VB.NET 类。
        • 控制器是整个 MVC 架构的核心。
        • 可以实现控制器内部的类操作方法,这些方法负责响应浏览器或调用视图。
        • 控制器可以访问和使用模型类将数据传递给视图
        • 控制器使用 ViewData 将任何数据传递给视图。

        【讨论】:

        • 我知道这是一篇相当老的帖子,但是在努力学习 MVC 几个星期之后,这个对 MVC 的解释是我所听到的最好的。
        • @DannyGoodall 我的荣幸
        【解决方案5】:

        MVC 是一种代码组织架构风格,用于以对 Web 应用程序有意义的方式组织代码逻辑。作为一名程序员,当我继承其他人的代码时,当他们的代码逻辑无处不在并且跟随他们的 Web 应用程序代码变成跟随一只兔子掉进阴沟洞时,我几乎呕吐了。为什么是 MVC?嗯.. 那么我为什么要使用文件柜或文件夹来整理我过多的文件,而不仅仅是把我的文件藏在一大堆里,让其他人弄清楚它们是如何相互连接的。它增加了代码的可读性。使用 MVC,遵循代码逻辑变得非常容易,因为您遵循 Web 应用程序的标准结构。业务逻辑与 UI 分离。更容易委派工作,解耦项目的工作。

        【讨论】:

          【解决方案6】:

          您当然可以通过隔离班级来自己解决问题。框架提供了您不必自己构建的通用脚手架。但它也会对你的代码强加一些结构。您必须评估该框架的帮助是否大于伤害。

          【讨论】:

            【解决方案7】:

            您是对的,您可以实施一些策略来帮助分离关注点,而无需使用 MVC。

            Microsoft 的 ASP.NET MVC 框架是一种可以采用的策略,我认为这就是您要问的问题。 这个 MVC 框架使这种关注点分离变得容易。

            MVC 的另一个主要优势是可测试性 -(取决于您是否相信单元测试 - 我相信)。
            MVC 框架确保所有编排逻辑都在您的控制器上,并且通过 FormControls 集合允许对应用程序的所有方面进行完整的单元测试,除了它的呈现方式。

            由于 MS MVC 框架鼓励遵守应用程序的通用规则和结构,这将带来更好的可维护性

            MVC 的主要缺点是演示所需的代码前代码编织,但这很容易克服。

            【讨论】:

              【解决方案8】:

              也许这只是语言问题。我见过“框架”将自己称为 DSL——领域特定语言。

              而且你不需要框架但是这里有一些事情需要考虑:你已经知道对于一个网络应用你会想要做一些常见的事情......路由 URL,渲染页等。为什么要全部重写?对于其他问题领域,您也可以做一些通用的事情。

              【讨论】:

                【解决方案9】:

                海友 架构框架有很多种,首先我知道2层和3层框架,3层和mvc,实体框架相同但名称不同,所以学习一个好的背景因此,如果您去过任何跨国公司,您可以轻松地为您的雇主评分/突出显示建筑。

                Model View Controller or MVC as it is popularly called, is a software design
                pattern for developing web applications. A Model View Controller pattern is made 
                up of the following three parts:
                
                **Model** - The lowest level of the pattern which is responsible for maintaining data.
                
                **View** - This is responsible for displaying all or a portion of the data to the user.
                
                **Controller** - Software Code that controls the interactions between the Model and View
                

                【讨论】:

                  猜你喜欢
                  • 2010-11-25
                  • 2021-10-23
                  • 2018-04-13
                  • 1970-01-01
                  • 2012-08-20
                  • 1970-01-01
                  • 2020-03-10
                  • 2015-11-16
                  • 2011-10-31
                  相关资源
                  最近更新 更多