这是一个性能问题,也是一个重构问题。
我有一个.NET用户控件(UCA.ascx)...它在内部使用了5个其他用户控件。 这些用户控件中的每一个都会遇到超过2000行代码。
网页首先加载UCA.ascx然后根据UCA.ascx中的操作动态加载其他5个用户控件。 这些用户控件的代码隐藏使用DTO并在其中包含业务逻辑。
主要问题是解决长加载时间和延迟操作时间(由于回发)。要解决此问题,我需要先了解代码。
那么,是否有关于应该是什么以及什么不应该是什么的指导 用户控制代码隐藏代码库?
是否有工具驱动或更简单的方法来重构大型,笨重的用户控件?
答案 0 :(得分:1)
最理想的是,您的表示层中应该有 no 业务逻辑或数据访问逻辑。表示层中的代码应仅包含用于检索业务对象并将其绑定到页面上相应控件的代码。
ReSharper有一些内置的重构工具,您可以从代码库中提取方法,但一般来说,这样的重构很精细,应该非常仔细地进行,并预先考虑如何进行重新设计。
在您重构时,请尽量记住SOLID原则,并在可行的地方添加单元测试。