在类之间管理数据的最佳方法是什么?

时间:2013-11-20 18:20:07

标签: c# .net winforms forms list

使用c# - WinForms,.net Framework 4.5,VS 2012

尝试使用某个实体创建小型应用。 我为我的实体创建了单独的类,并在其中放入了一些简单的代码:

public class Car
{
    public string Color {get; set;}
    public string Make { get; set; }
    public string CarModel { get; set; }
}

然后从主窗体我创建一些类Car的样本(创建可以通过点击主窗体中的按钮,点击新窗体后打开3个文本框,如果输入信息并点击按钮确认 - 必须创建新的Car样本并将其返回到主窗体。)

为此,我尝试使用下一个代码:

    public Car myCar = new Car();
    private void buttonAdd_Click(object sender, EventArgs e)
    {
        myCar.Color = textBoxColor.Text;
        myCar.Make = textBoxMake.Text;
        myCar.CarModel = textBoxModel.Text;
        this.DialogResult = DialogResult.OK;
        this.Close();
        MessageBox.Show("Added");
        this.Close();
    }

要将数据从新表单移动到主表单,我使用公共字段public Car myCar = new Car();,但由于使用public字段,这不是最好的方法。

我找到的另一种方式 - 在主窗体中创建下一个方法

    static List<Car> carInStock = null;
    public static void myCar(string color, string make, string model)
    {
        Car myCar = new Car
        {
            Color = color,
            CarModel = model,
            Make = make
        };
        MainForm.carInStock.Add(myNewCar);
    }

和按钮可以使用如下方法:

    private void buttonAdd_Click(object sender, EventArgs e)
    {
        MainForm.myCar(textBoxColor.Text,
        textBoxMake.Text,
        textBoxModel.Text);
        MessageBox.Show("Added");
        this.Close();
    }

但是认为varian也不是最好和最喜欢的。

问题:将创建的实体(在本例中为Car的实体,表示为myCar)从一种形式移动到另一种形式的最佳方法是什么?

1 个答案:

答案 0 :(得分:2)

对于这种GUI应用程序,我建议你遵循MVC或MVP模式。类汽车是模型,Windows窗体是视图,视图不包含模型的实例,视图通过控制器或演示者更新。

您可以找到有关MVC / MVP here

的更多详细信息