Design patterns MVPVM-枚举在模型和视图模型中的使用

Design patterns MVPVM-枚举在模型和视图模型中的使用,design-patterns,mvvm,architecture,model,viewmodel,Design Patterns,Mvvm,Architecture,Model,Viewmodel,假设我有一个模型对象: class MyModel { int status { get; set; } ... } 以及相应的视图模型: class MyViewModel { Enums.Status status { get; set; } ... } 模型对象被读/写到XML文件中,状态为数值。 在视图中,视图模型状态通过资源文件查找转换为字符串 目前,我们需要将状态从模型中的int转换为视图模型中的Enums.status 为了简化此过程并赋予模型中的数值更多意义,如果我对两个状态

假设我有一个模型对象:

class MyModel
{
int status { get; set; }
...
}
以及相应的视图模型:

class MyViewModel
{
Enums.Status status { get; set; }
...
}
模型对象被读/写到XML文件中,状态为数值。 在视图中,视图模型状态通过资源文件查找转换为字符串

目前,我们需要将状态从模型中的int转换为视图模型中的Enums.status

为了简化此过程并赋予模型中的数值更多意义,如果我对两个状态属性使用相同的枚举,是否可以接受

如果不是,是最好保持现状,还是有更好的方法

如果对两个状态属性使用相同的枚举,是否可以接受

这当然是可以接受的,我认为你应该这样做。这使您的模型更加严格和明显,您不再需要怀疑这个数字代表什么,它使思考更加明确和清晰

此外,如果您将来切换到使用ORM(对象关系映射器),您将看到它们支持枚举,并且可以将它们直接映射到数据库

如果对两个状态属性使用相同的枚举,是否可以接受

这当然是可以接受的,我认为你应该这样做。这使您的模型更加严格和明显,您不再需要怀疑这个数字代表什么,它使思考更加明确和清晰

此外,如果您将来切换到使用ORM(对象关系映射器),您将看到它们支持枚举,并且可以将它们直接映射到数据库