asp.net-mvc-3 - 我怎样才能说服我的经理不要放弃 MVC 而重新使用 Web 表单?

标签 asp.net-mvc-3 webforms comparison

我在一家公司工作,自从我来到这里,我就可以完全自由地使用任何 Microsoft 技术、模式和工具来开发我的应用程序。

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

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

两天后,他说我需要将所有应用程序转换为Web 表单,并从现在开始仅使用Web 表单。他说 MVC 类似于旧的 asp(在某些方面确实如此),并且需要更长的时间来开发应用程序并使人们当需要更改/维护应用程序时感到困惑

我认为这不是真的,因为经过一段艰难的开始,我已经习惯了 MVC 的魔力,它简化了应用程序的开发、组件化和维护。

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

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

谢谢

最佳答案

不幸的是,经理给出充满商业用语的“我不明白这个,所以我希望你按照我的方式做”的情况并不罕见。这往往会阻碍进步。 (实际上,我过去曾经因为这个原因离职过,经理们拒绝允许任何非他们个人设计的开发。)

但是,您也需要对这个问题保持开放的态度。他这样做很可能有充分的理由。支持代码是一个大问题,虽然我同意在 MVC 中编写干净且解耦的代码更容易,但同时他可能会看到一个以低成本雇用外包开发人员更容易/更便宜的市场支持 WebForms 应用程序。他的抽屉里可能有一叠简历,描绘了 WebForms 和 MVC 之间截然不同的画面。

实际上,你能做的最好的事情就是以完全开放的心态对待这两种范式。请注意,有关 WebForms 消亡的传言被过分夸大了。因此,如果你真的想让他相信任何事情,那么你就必须提供适当且公正的比较。

从一个简单的优缺点列表开始比较这两种范例。确保你没有跳过任何事情。如果他对 WebForms 的优点和对 MVC 的缺点你试图忽略,那将会损害你的情况。将列表演变为一些例子、演示、概念证明等。让你的论点变得有触觉,给它数字和有形的值(value),这些对管理层来说意味着真正的东西,而不仅仅是“这是一个更好的发展战略”。量化它。

如果你的论点只不过是“好吧,我的方法更好,因为它就是这样”,那么你就不会走得太远。即使你有观点要表达,你也必须成功地向他表达观点。你必须用他的语言来表达。

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

如果您完全澄清和量化所有这些,并且对 WebForms 保持开放的态度至关重要,那么您所做的就是为他提供做出明智决策所需的信息。该决定可能不会改变。他可能仍然坚持使用 WebForms。但这是他的决定。你在这里所做的就是向他展示所有的优点和缺点,所有的成本和 yield (无论是直接的还是长期的,包括重写你已经拥有的东西和持续的支持等等)。即使他的决定被证明是错误的,至少那是他明智的决定。你不会对他隐瞒任何事情。

最终,他可能仍然坚持要求你按照他理解的方式做事。有些管理者就是这样。但请将此视为您职业生涯中掌握表达论点艺术的机会。这不会是您最后一次这样做。

关于asp.net-mvc-3 - 我怎样才能说服我的经理不要放弃 MVC 而重新使用 Web 表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6875110/

相关文章:

基于票数和 5 星评级的对象评级算法

c# - 是否有任何为 C# 编写的模糊搜索或字符串相似函数库?

ASP.NET MVC 3 添加 Controller 抛出错误 "Object reference not set to an instance of object"

c# - 使用 actionResult 返回错误信息

jquery - 如何在用户单击链接时将页面重置为初始比例?

asp.net - 一个小但恼人的问题——为什么 ASP.Net 将 SQL Server Guids 设置为小写?

asp.net - 无法理解从 HTML 导出 Excel 电子表格的代码

java - 找出两个相似对象之间的差异

c# - 数据未保存在数据库中(MVC3)

c# - ASP.NET UserControl 继承 - 从基类获取派生类控件