C# 是否应使用自定义控件来管理表单复杂性?
一般来说,我想知道什么时候使用自定义控件,而不是将控件直接集成到表单中 特别是,我有一个表单,它包含一个选项卡页面,其中6个选项卡分别包含许多.net framework控件。目前,我在我的项目中有6个用户定义的控件,它们停靠在每个选项卡页面上。 也就是说,没有控件的重用,我只是使用它们来管理表单的复杂性,否则表单将包含10个GridView、20个按钮、6个日期控件等等。你会认为这是管理这种复杂性的好方法,还是其他方案更好?C# 是否应使用自定义控件来管理表单复杂性?,c#,C#,一般来说,我想知道什么时候使用自定义控件,而不是将控件直接集成到表单中 特别是,我有一个表单,它包含一个选项卡页面,其中6个选项卡分别包含许多.net framework控件。目前,我在我的项目中有6个用户定义的控件,它们停靠在每个选项卡页面上。 也就是说,没有控件的重用,我只是使用它们来管理表单的复杂性,否则表单将包含10个GridView、20个按钮、6个日期控件等等。你会认为这是管理这种复杂性的好方法,还是其他方案更好? 了解发生了什么事?什么是复杂性?如果你问我,如果你使用usercon
了解发生了什么事?什么是复杂性?如果你问我,如果你使用usercontrols作为你使用的方式,你会使它变得更复杂。应使用用户控件来防止代码重复。基本上,您正在做的是将您的逻辑移动到您的用户控件,并将您的逻辑划分为多个页面,这样您在主页上的代码就更少了。如果你问我,这不应该是你主要关心的问题。什么是复杂性?如果你问我,如果你使用usercontrols作为你使用的方式,你会使它变得更复杂。应使用用户控件来防止代码重复。基本上,您正在做的是将您的逻辑移动到您的用户控件,并将您的逻辑划分为多个页面,这样您在主页上的代码就更少了。如果你问我的话,这不应该是你主要关心的问题。我认为这种将页面划分为自定义/用户控件的方式可能会被证明是有用的,即使不重用这些部分。这将为您提供:
如果做得好,值得。对于没有经验的/草率的团队成员,最好不要这样做。我认为这种将页面划分为自定义/用户控件的做法可能会被证明是有用的,即使不重用这些部分。这将为您提供:
如果做得好,值得。对于经验不足/马虎的团队成员,最好不要这样做。如果您在视图模型或控制器中对屏幕的各个部分有复杂的逻辑,那么这可能是一种有益的方法。它使你的整体形式更像一个合成体。您可以单独开发视图模型和/或控制器中的节/控件后面的功能,并单独对其进行单元测试。正如ImreP所说,这是沿着关注点分离的路线进行的 但是,如果表单上的单独控件之间存在大量交互,那么这可能不是正确的方法。如果您可以为表单的不同区域找到不同的行为/责任区域,那么拆分可能是一个好主意,因为您的前提是有很多UI发生 如果这仅仅是为了在每个包中拥有更少的基本控件,并且没有机会重用任何组件,那么这可能会在某种程度上搅乱局面
一个好的测试可能是向团队中的其他人展示它,并查看向他们解释它需要多长时间。通过尝试将其展示给还没有见过它的人,你会知道它是否直观。如果你在视图模型或控制器中对屏幕部分有复杂的逻辑,那么这是一种有益的方法。它使你的整体形式更像一个合成体。您可以单独开发视图模型和/或控制器中的节/控件后面的功能,并单独对其进行单元测试。正如ImreP所说,这是沿着关注点分离的路线进行的 但是,如果表单上的单独控件之间存在大量交互,那么这可能不是正确的方法。如果您可以为表单的不同区域找到不同的行为/责任区域,那么拆分可能是一个好主意,因为您的前提是有很多UI发生 如果这仅仅是为了在每个包中拥有更少的基本控件,并且没有机会重用任何组件,那么这可能会在某种程度上搅乱局面 一个好的测试可能是向团队中的其他人展示它,并查看向他们解释它需要多长时间。你会得到一个好主意,如果它是直观的或不是通过尝试显示给别人谁还没有遇到它