使用MVP,谁控制简单的UI更改,如图像更改?

时间:2014-11-25 18:45:16

标签: c# mvp

我正在使用MVP模式,并且想知道谁应该控制简单的UI更改,例如调整文本或图像。

例如,我们有一个屏幕,可以在满足特定条件时更改文本和图像。假设我的数据类看起来像这样:

pubilc class Data
{
    TypeEnum FormType { get; set; }
}

我应该使用:

public class Presenter
{
    void Presenter(Data data)
    {
        switch (data.FormType)
        {
            case TypeEnum.New:
                View.Image = NewImage;
                View.Title = "Create a new record";
                break;

            case TypeEnum.Delete:
                View.Image = DeleteImage;
                View.Title = "Delete an existing record";
                break;
        }
    }   
}

或者这个:

public class Presenter
{
    void Presenter(Data data)
    {
        View.SetFormType = data.FormType;
    }   
}

public class View
{
    public void SetFormType(TypeEnum formType)
    {
        switch (formType)
        {
            case TypeEnum.New:
                Image = NewImage;
                Title = "Create a new record";
                break;

            case TypeEnum.Delete:
                Image = DeleteImage;
                Title = "Delete an existing record";
                break;
        }
    }   
}

决定选择哪种方法的原因是什么?

0 个答案:

没有答案