gpt4 book ai didi

asp.net-mvc - ASP.NET MVC 适用于复杂的 Web 应用程序吗?

转载 作者:行者123 更新时间:2023-12-04 09:03:45 24 4
gpt4 key购买 nike

上周,我的老板让我的团队为下一个项目评估 ASP.NET MVC。
我们所有人从 .NET 1.1 开始使用 webform,我们之前没有 MVC 经验,但我所有的同事都对 ASP.NET MVC 感兴趣,但没有运气,我们的最终答案是否定的。

因为:

  • 我们相信,即使您是 ASP.NET 大师,您也可以在短时间内构建复杂的应用程序。但是如果你改用ASP.NET MVC,开发时间会更长,每件事都需要使用html helper,没有web控件,还有很多问题,继续打开Firefox Tab with ASP.NET forum询问How-To问题。
  • 我们曾多次看到有人说 MVC 提供更好的项目管理,但如果是一个复杂的网站,我可以想象一个页面中有一百个 <%=%> TAG,并保持打开 Controller 以查看返回什么,并保持打开模型看看逻辑。

  • 我可以说,MVC 还不错,但 Webform 足够强大来处理这项工作。

    最佳答案

    转变为新技术或“思维方式”需要数周时间。

    使用 MVC,您必须摆脱旧的 ASP.NET Forms 思维“复杂 Web 应用程序”的方式,即“我们有多少页面,超过 300 个页面!那将是巨大的!”。您更改了整个应用程序的 View 。您从“接下来需要创建什么页面”的旧思维转变为“我们接下来需要实现什么功能”的 MVC 思维方式。

    例如,我自己控制了一个项目,该项目仅在“web”项目中就有超过 3300 个文件(加上 11 个支持程序集)。我正在构建的一件事是 MVC 如何将物理文件的数量大幅减少到大约 310 个左右。如何?因为我正在远离“这是一页。这是另一页”。到“这是我想要实现的功能”的思维方式。

    通过将页面视为您尝试完成的功能,您开始将该页面的各个部分抽象为通用功能。

    MVC 可以通过这种思维方式极大地扩展,因为现在您有了一个符合您希望的外观的模板,您只需要实现另一个“函数”来更改您想要呈现的 View (html) 的外观。没有第二页,没有额外的控件等。

    现在,对于您提到的“无网络控件”:同样,这需要不同的思维方式。有用于基本渲染和编码的 HtmlHelper。我在一个名为 MyProjectHelper 的抽象类中使用了相同的概念,该类将我的“函数”呈现到页面上(函数 = 代码)。

    例如,我过去总是为我的 DisplayNames 创建一个服务器控件。这让我可以控制 DisplayName 的显示方式,尤其是切换到 Facebook Connect 和其他东西时。使用 MVC,我不再使用“服务器控件”,而是使用 ViewModel 上的“函数”来呈现该文本:CollegeProjectViewModel.RenderDisplayName()。由于这只是 UI 层的一部分,这将根据需要使用我希望的任何选项渲染 Anchor(当然,抽象是由 CollegeProjectViewModel 继承的,它在“基本”文本渲染上进行选择)。

    MVC 的强大之处在于能够不再需要“网页”,而是需要“功能”或您想对站点执行的操作的方法。通过改变这种思维方式,您真的可以使用在 Controller 上创建的方法进行扩展。它确实在大规模 IMO 上加快了速度。

    关于asp.net-mvc - ASP.NET MVC 适用于复杂的 Web 应用程序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/722501/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com