如何向客户提出Asp.Net Mvc优于其他技术?

时间:2009-11-12 14:59:55

标签: asp.net-mvc

如何向客户展示采用asp.net mvc的好处?

我的意思是 - 我们作为开发人员可以理解更容易实现自动化测试的好处,更好地控制渲染的HTML等,但客户接受使用asp.net mvc的最强动机是什么?

也许用asp.net mvc(不包括stackoverflow)构建一些更好看的例子来展示?


P.S。请不要开始火焰战 在这种情况下 - 如果asp.net mvc优于x或反之亦然无关紧要。

5 个答案:

答案 0 :(得分:3)

这个问题可能有点主观,但无论如何我都会对它进行修改。

- 背景:

MVC是在我开始在我现在的公司之前为我挑选的,我负责学习它,这非常适合我,因为我非常注重HTML。该项目正在开发中,但我们有迭代会议,以显示进度和充实需求。在其中一次会议中,我发现了一个重要的回报:

- 我的经历:

该网站是否支持移动电话访问的问题已经提出,但到目前为止,我一直在设计网站的 1024 x 768最低分辨率。不用担心,我只是关闭了CSS样式,并且页面显示在一个不太漂亮但非常实用的流程中。整个网站设计为语义,通过样式表和可能的JS可以更轻松地移植到不同的前端。 ASP.net MVC对于语义网站来说非常棒,这些网站更便宜,更易于维护。

- 更多东西

采用更完全包含其运行的媒体的网络技术的好处之一 。其他包括:

  • 更好地分离模型视图和控制逻辑,因为它的MVC很好,但是这会使你的代码更松散地耦合,更多的单一责任原则依赖最终使其更便宜维护

  • 更多基于标准,意味着它更容易使用所有酷孩子正在使用的JQuery和CSS技巧,因为那些真正在基于良好形成的基于语义的文档中闪耀。这意味着更便宜添加天赋

  • 宁静的,网址驱动的请求。你的URL没有指定一些.aspx来加载,并在其可怜的小代码隐藏中通过一堆层执行大量工作。您的URL指定一个请求,该请求使路由器调用模型层功能,该功能在的位置运行,然后将相关数据转储到视图中。这里有很多好东西:

    • 这使得一个控制器可以更轻松地提供页面,Web服务,AJAX和处理所有CRUD案例,但只能在一个上下文中完成。

    • 每个职责由路由器调用的方法处理,每组相关职责可以实现为控制器。

    • 您可以控制哪些数据进入哪里,您可以自定义构建视图模型以进入视图,视图只包含显示它的逻辑,使得简单且安全尤其如此如果在视图中工作的人不是在控制器逻辑上工作的人。

还有很多,但是在我输入这个时间的时候,所有其他答案都可能已经发布了。

答案 1 :(得分:2)

客户通常不关心在构建网站时使用什么技术,因此我会将成本作为使用ASP.NET MVC的驱动因素。让客户知道如果他们选择X技术,他们的成本最终会降低(即使这不一定是真的)。底线是一个强大的谈判工具。

答案 2 :(得分:2)

在大多数情况下,只要是

,客户就不会关心幕后发生的事情
  • 廉价
  • 可靠
  • 可维护
  • 与他们目前拥有的任何内容兼容
便宜很容易卖,ASP.net MVC是免费的。可靠?它由微软构建,对大多数PHB来说都很容易销售。维护?这有点棘手,因为它是一项新技术,并没有很多专家。然而,这里的卖点是它更接近纯HTML而不是webforms,因此几乎所有开发人员都应该很容易维护。

兼容性更难,但是如果它是他们拥有的,你可以在MVC中使用用户控件。这个你必须自己解决,因为它是客户特定的。

答案 3 :(得分:1)

这是一个分层问题:

  1. 为什么要使用.NET - 功能和性能(并且说它适合你的技术没有坏处)。 IIS7正在变成一个非常令人印象深刻的平台。
  2. 为什么要使用ASP.NET MVC?这里出售给客户的关键是你对输出的控制程度 - 这是你决定作为开发人员加入的权衡,你有更多的控制权,所以在某些方面你有更多然而,工作要做的是客户的胜利是在结果页面中,这些页面应该更小,更符合标准,更适合搜索引擎,并且通常是公共网站应该的所有内容。
  3. 但是,如果它是内部网站,你必须实际做出更多考虑的判断,表单工作,你可以产生非常好的结果,如果你知道环境它将部署到您身上可能会发现您提供的构建块比使用MVC更高效。
  4. 顺便说一句,没有什么可以阻止你在网络表单中使用MVC模型的优势 - 我们往往最愧疚的错误是未能正确分离逻辑,因为它太容易不能,但是从干净你可以在你允许的范围内积极进取。

答案 4 :(得分:0)

我会走另一条路,找到一些糟糕的ASP.NET Web Forms网站来展示它们。应该很容易。 :)