发布于 2015-08-12 13:05:44
这个问题并不是专门针对CodedUI的。使用部分类来模拟关注点分离并不是正确的方法。
它们可能使编写类更容易,但它们没有创建适当的关注点分离(这是类存在的根本原因),因此也不会使类的使用变得更容易,因为从外部的角度来看,在一个或多个文件中编写代码的类之间根本没有区别。
为了给出一个简单的例子,您将让自动完成返回一个平面列表,其中包含您类的所有成员,不加区分地遍历所有部分文件。
当类是部分生成代码(非生成代码)或用不同语言编写(例如,SL/WPF的xaml和C# )时,使用部分。不同的位可能涵盖相同行为的部分,因此(从SoC的角度来看)将它们分组在同一个类下是有意义的,但是从代码管理的角度来看,这两个部分需要分开。这就是为什么CodedUI使用部分文件的原因(生成*.Designer.cs文件,而不生成*.cs文件)。
如果您觉得需要创建部分来分离关注点,那么您可能应该后退一步,使用适当的SoC (即创建不同的类)。
在您公开的特定情况下,我将考虑为应用程序UI的不同部分创建UIMaps (无论您是将UI的行为分离为不同的窗口,还是将其划分为不同的窗口,等等--取决于其复杂性)。
发布于 2015-08-12 14:20:48
使用多个UI地图而不是一个大地图有几个原因。其中一些是:
https://stackoverflow.com/questions/31963435
复制相似问题