我正在使用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;
}
}
}
决定选择哪种方法的原因是什么?