Model view controller 做MVC还是不做?

Model view controller 做MVC还是不做?,model-view-controller,oop,Model View Controller,Oop,我对MVC结构还不熟悉,觉得很难把事情做好,因为这是一种新的做事方式。有没有人对MVC和pages的工作方式有经验。MVC的开发方式是现在的主流还是普通的面向对象开发(甚至是webdev的过程性页面)仍然有价值?MVC是一种时尚吗 因为您没有提到语言,如果您指的是php中的mvc,那么这也是一个很好的例子 mvc新手的资源: MVC利弊的简要列表 专业人士 可测试 关注点分离-促进主要组件之间的解耦 帮助您一次专注于一个任务/领域 自然适合网络和桌面交互 适合其他设计模式,单一责任 原则等

我对MVC结构还不熟悉,觉得很难把事情做好,因为这是一种新的做事方式。有没有人对MVC和pages的工作方式有经验。MVC的开发方式是现在的主流还是普通的面向对象开发(甚至是webdev的过程性页面)仍然有价值?MVC是一种时尚吗

因为您没有提到语言,如果您指的是php中的mvc,那么这也是一个很好的例子 mvc新手的资源:


MVC利弊的简要列表

专业人士

  • 可测试
  • 关注点分离-促进主要组件之间的解耦
  • 帮助您一次专注于一个任务/领域
  • 自然适合网络和桌面交互
  • 适合其他设计模式,单一责任 原则等
缺点

  • 可能需要更多的代码和努力
  • 会降低简单页面的清晰度(在这些情况下,请尝试继续使用简单页面)
  • 需要更多的学习
MVC不仅仅是一种时尚。这是一种非常实用的方法,可以将web应用程序的多个关注点划分为可管理和可重用的部分。诚然,一开始确实需要一些时间来适应,但是有意识地打破应用程序,MVC风格可能会非常有益。通常,解决方案更简洁,因为它们只需要专注于单个操作或任务

这也不是一个新的想法。自1979年()以来,它一直以某种形式出现,并在各种web和桌面平台中使用

如果您发现自己在使用MVC风格的实现时遇到困难,那么请尝试将其分解为正在使用的各个部分或操作,以及它们对应的区域、模型视图或控制器。正如您可能预期的那样,随着时间的推移,这将变得更加容易


祝你好运

如果我们谈论ASP.NET MVC,我们将讨论这一点:

ASP.NET MVC框架具有以下优点:

  • 通过将应用程序划分为模型、视图和控制器,可以更轻松地管理复杂性
  • 它不使用视图状态或基于服务器的表单。这使得MVC框架非常适合希望完全控制应用程序行为的开发人员
  • 它使用前端控制器模式,通过单个控制器处理Web应用程序请求。这使您能够设计支持丰富路由基础结构的应用程序。有关更多信息,请参阅MSDN网站上的前端控制器
  • 它为测试驱动开发(TDD)提供了更好的支持
  • 它适用于需要高度控制应用程序行为的大型开发人员和Web设计师团队支持的Web应用程序
基于Web表单的框架具有以下优点:

  • 它支持通过HTTP保留状态的事件模型,这有利于业务线Web应用程序开发。基于Web表单的应用程序提供了数百个服务器控件支持的数十个事件
  • 它使用一个页面控制器模式,为各个页面添加功能。有关更多信息,请参阅MSDN网站上的页面控制器
  • 它使用视图状态或基于服务器的表单,这可以使管理状态信息更容易
  • 它适用于希望利用大量组件进行快速应用程序开发的小型Web开发人员和设计师团队
  • 一般来说,应用程序开发不太复杂,因为组件(页面类、控件等)是紧密集成的,通常比MVC模型需要更少的代码
      这是从ASP.NET WinForms->ASP.NET MVC的角度来看的,然而,ASP.NET MVC是我第一次听说MVC模式(noob程序员),我想如果我在ASP.NET MVC之前发现了另一种语言的MVC,我会离开ASP.NET/C,去那个框架

      学习和使用MVC使我成为一名更好的程序员。我一直觉得ASP.NET在我和代码(HTML或C#)之间设置了一道透明的屏障

      我一直想突破这一障碍,MVC让我能够完全控制应用程序中的所有内容,同时强调关注点的分离(这使得编码更加有趣,也不那么麻烦)


      对我来说,MVC是正确的选择

      是否使用MVC主要取决于项目的需要。有时我有一些简单的东西不需要模型,但仍然可以从控制器/视图安排中获益。在这些情况下,我可能会使用一个微框架(对于PHP来说是limonade),甚至更少。我的大多数web项目仍然是MVC应用程序

      我在1996-1997年开始制作网站,一切都是新的,从长远来看,什么是好主意或坏主意都没有意义。大约在2005年,当我离开军队回到网络开发领域时,在有机设计的代码的老鼠窝里挣扎并不是一件愉快的事。所以当我被介绍到RubyonRails和MVC的概念时,我立刻意识到这是一个游戏规则改变者

      随着MVC在越来越多的web项目中被越来越多地采用,它为开发人员的下一代生活铺平了道路,通过提供跨公司和项目的共同点,开发人员的生活变得更加轻松和高效。是的,从协作脚本的前期简单性到页面项目,MVC有点难以接受,但任何值得做的事情都不会那么容易,对吗

      综上所述,如果你在一种语言的MVC方面有了良好的基础,它可以为你学习其他语言提供一个心理上的共同点。至于MVC作为一种主导的框架设计模式将持续多久,软件行业