【问题标题】:User Control refactoring用户控件重构
【发布时间】:2012-02-02 17:10:35
【问题描述】:

这是一个性能问题,也是一个重构问题。

我有一个 .NET 用户控件 (UCA.ascx)...它又在内部使用 5 个其他用户控件。 这些用户控件中的每一个都运行超过 2000 行代码。

网页首先加载 UCA.ascx ...然后根据 UCA.ascx 中的操作动态加载其他 5 个用户控件。 这些用户控件的代码隐藏使用 DTO 并在其中包含业务逻辑。

主要问题是解决加载时间长和操作时间延迟(由于回发)。要解决这个问题,我需要先理解代码。

  • 那么,有没有关于什么应该和什么不应该在 用户控制代码隐藏代码库?

  • 是否有工具驱动或更简单的方法来重构大型、笨拙的用户控件?

【问题讨论】:

  • 特别是对于如此大量的代码,您不应该只是四处寻找看起来不好的东西并修复它们。在你开始解决真正的问题之前,这可能会占据你相当长的一段时间。您需要分析代码以查看其花费时间的地方并专注于优化 that

标签: c# .net refactoring ascx


【解决方案1】:
  • 最理想的情况是,您的表示层中应该没有业务逻辑或数据访问逻辑。表示层中的代码应仅包含用于检索业务对象并将它们绑定到页面上适当控件的代码。

  • ReSharper 有一些内置的重构工具,您可以在其中从代码库中提取方法,但一般来说,像这样的重构是微妙的,应该非常小心地进行,并预先考虑如何进行重新设计。

在重构时,请尽量牢记SOLID 原则,并在可行的情况下添加单元测试。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-05
    • 1970-01-01
    • 2020-06-28
    • 1970-01-01
    相关资源
    最近更新 更多