Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 我如何才能说服我的经理不要放弃MVC而回到Web表单?_Asp.net Mvc 3_Webforms_Comparison - Fatal编程技术网

Asp.net mvc 3 我如何才能说服我的经理不要放弃MVC而回到Web表单?

Asp.net mvc 3 我如何才能说服我的经理不要放弃MVC而回到Web表单?,asp.net-mvc-3,webforms,comparison,Asp.net Mvc 3,Webforms,Comparison,我在一家公司工作,自从我来到这里,我有充分的自由使用微软的任何技术、模式和工具来开发我的应用程序 我开始使用ASP.NET MVC3开发所有应用程序,目前部署并运行了5个应用程序 前几天,我和经理开了一次会议,审查了所有的应用程序,他意识到我的代码与他预期的完全不同。他基本上意识到,我不使用Web表单,而是使用MVC。他认为自己只是一个组件/工具,并不是一个完全不同的编程方法。他很好奇,并简要研究了什么是ASP.NETMVC 两天后,他说我需要将所有应用程序转换为Web表单,从现在起只使用Web

我在一家公司工作,自从我来到这里,我有充分的自由使用微软的任何技术、模式和工具来开发我的应用程序

我开始使用ASP.NET MVC3开发所有应用程序,目前部署并运行了5个应用程序

前几天,我和经理开了一次会议,审查了所有的应用程序,他意识到我的代码与他预期的完全不同。他基本上意识到,我不使用Web表单,而是使用MVC。他认为自己只是一个组件/工具,并不是一个完全不同的编程方法。他很好奇,并简要研究了什么是ASP.NETMVC

两天后,他说我需要将所有应用程序转换为Web表单,从现在起只使用Web表单。他说MVC类似于旧的asp(在某些方面是正确的),开发应用程序需要更长的时间,当需要更改/维护应用程序时,会让人感到困惑

我认为这不是真的,因为在经历了一个艰难的开端之后,我习惯了MVC的魔力,它简化了应用程序的开发、组件化和维护

我告诉他,Web表单过于耦合的UI/Logic/DAL,过了一段时间,代码变得不可读,并且危及单元测试。我还展示了用jQuery或MVCContrib网格替换旧的GridView(他主要关心的问题之一)的可能性

没有办法说服他。无论是工作还是个人发展,我都不想回到Web表单,因此我恳请您告诉我使MVC“优于”Web表单的最重要的几点


感谢

创建WebForms是为了让WinForms开发人员能够轻松地移动到web。NETMVC的主要优点是它将模型(数据)、视图(HTML、CSS、jQuery)和控制器(逻辑和路由)分离开来。这允许不同的人在需要时处理不同的部分(分离关注点)。它也更接近于真正的web模型,直接使用HTML进行设计,而不是被ASP.Net用户控件抽象掉。显然,在MVC中,您有HTML帮助程序,可以创建自己的自定义帮助程序扩展以及使用DisplayFor和EditorFor模板


老板们的观点是,许多开发人员都知道ASP.Net,但不知道MVC,所以其他人更容易使用它。然而,MVC已经过时一段时间了,许多热心的开发人员已经学会了这一点,或者可以很快做到。在我看来,这是一种非常干净、功能强大的方法,可以非常快速地开发web应用程序,并且易于维护。ASP.Net当然也有它的优点,但是你问“是什么让MVC更优秀”,所以我刚才讨论了MVC比ASP.Net的一些优点。这绝不是一个详尽的比较,希望其他人也能补充他们的观点。

我会搜索显示MVC项目优越性的数据或调查结果,而不是告诉他MVC有多好。MVC只是创建和维护高质量软件的更高效的方法。我想补充的一点是,由于UI与业务逻辑完全解耦,因此使用T4和MVCScaffolding等代码生成工具自动化代码生成要好得多。

不幸的是,对于经理来说,提供一个充满业务演讲的版本是很常见的“我不明白这一点,所以我希望你用我的方式来做。”这通常会扼杀进步。(事实上,我过去也因为这个原因离开过工作岗位,经理们拒绝允许任何他们个人没有设计的开发。)

然而,你也需要在这个问题上保持开放的心态。他可能有很好的理由。支持代码是一个很大的问题,虽然我同意在MVC中编写干净和解耦的代码更容易,但与此同时,他可能会看到一个市场,在这个市场上,以较低的成本雇佣外包开发人员给su更容易/更便宜支持WebForms应用程序。他抽屉里可能有一堆简历,在WebForms和MVC之间描绘了一幅截然不同的图景

事实上,你能做的最好的事情就是以完全开放的心态对待这两种范式。要知道,关于WebForms消亡的传言被大大夸大了。因此,如果你真的想让他相信任何事情,那么你就必须给出一个适当且公正的比较

从一个简单的赞成和反对列表开始,比较这两种模式。确保你不要跳过任何东西。如果他有你试图忽略的WebForms的赞成和MVC的反对,那将损害你的情况。将该列表发展成一些示例、演示、概念证明等。让你的论点有触感,给出数字和有形价值这对管理层来说意味着一些真实的东西,而不仅仅是“这是一个更好的发展战略”

如果你用一个只说“好吧,我的方式更好,因为它只是”的论点来处理这个问题,那么你不会走远。即使你有一个观点要表达,你也必须成功地向他表达。你必须用他的语言表达

这实际上不是关于哪个发展战略更好,而是关于沟通和澄清你的想法。毕竟,如果你不能捍卫自己的立场,那么从他的角度来看,这不是一个好的立场

如果你完全澄清并量化了所有这些,并且对网络表单保持开放的态度是至关重要的,那么你所做的就是给他所需要的信息,让他做出明智的决定。这个决定可能不会改变。他可能仍然坚持使用网络表单。但这是他的决定