表单应该包含一个对象,还是一个包含该表单的对象?

phi*_*son 1 c# winforms

假设我只有一个项目的Windows窗体.如果我有另一个用于发出HTTP请求和处理数据的类,我应该使用哪个解决方案?

public class MyForm: Form
{
     private MyObject myObject;
}
Run Code Online (Sandbox Code Playgroud)

或这个:

public class MyObject
{
    private MyForm myForm;
}
Run Code Online (Sandbox Code Playgroud)

Hab*_*bib 5

通常Form在课堂上拥有对象并不是一个好主意.但这取决于具体情况.

如果您的类负责进行HTTP调用并处理数据,使其看起来更像是业务层或数据访问层对象,那么它应该独立于UI.

想象一下,如果您需要在Web应用程序中使用相同的类,那么您可以在单独的类库中提取该类,并在Web和桌面应用程序中使用它.但是,只有当您的班级独立于UI时,这才有效.如果您的类中有表单对象,那么您 UI与逻辑耦合.