asp.net - 可移植区域的缺点

标签 asp.net asp.net-mvc asp.net-mvc-4 mvccontrib portable-areas

对于有使用便携式区域经验的人,

我想知道使用它们是否有缺点,为什么不使用它们将大型MVC应用程序分解为多个组成部分。

最佳答案

让我们从

定义:
Portable Area是一个包含items的dll,通常是您解决方案的一部分。可移植区域包含 View , Controller ,模型,甚至包括JS脚本,CSS文件和图像。

理想情况下,可移植区域中的items可以协同工作以创建紧密的功能。如果没有,您可能不会从拥有可移动区域中受益。

福利

我将可移植区域与Web表单Web Parts进行了比较,因为它们都是试图回答以下问题的尝试:

如何创建可重复使用的功能?

如果您要创建要在多个项目中使用的功能,或者要作为要由第三方使用的功能进行分发,则可以从可移植区域中受益。

劣势

每次对可移植区域中的任何 View ,JS文件,CSS文件或图像进行更改时,都需要对其进行重建。我强调这些组件,因为在测试或开发它们时通常不需要重建它们。

这可能会成为一个问题。如果您每次调整CSS都会重新构建,则30秒的更改将变为2分钟的更改。将其中的30项投入工作,您将需要花费15分钟的时间花了2个小时。

可移植区域意味着成熟的功能可以按原样在多个项目或解决方案中重复使用。

  • 可移植区域对于处于早期开发阶段的功能不是理想的选择。
  • 可移植区域不适用于仅存在于1个解决方案或项目中的功能。
  • 关于asp.net - 可移植区域的缺点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17140271/

    相关文章:

    asp.net - ELMAH 未登录 Azure

    asp.net-mvc - ASP.NET MVC中的数据驱动验证

    asp.net-mvc - MVCContrib,Html.Grid : How can I attach a row-based id to a td tag?

    asp.net-mvc-4 - 如何验证货币字段?

    c# - 如何在一张表中插入相同的 LAST_INSERT_ID() 以创建多条记录;

    asp.net - 可以部署未编译的 Web 应用程序吗?

    c# - 如何在自定义模型 Binder 中验证我的模型?

    c# - ValidationMessageFor 的使用

    c# - 将 WCF 服务添加到网站项目

    c# - 为什么应用程序会抛出多个 "Operation is not valid due to the current state of the object"错误?