我已阅读过有关分离用于渲染视图的域模型和模型的信息。据我所知,对于每个域模型,我都可以(推荐)在我的MVC / UI层中创建模型,并在从业务层中提取数据时填充我的UI模型。 int,float很好我只是填充它们。
我该如何处理枚举?
我应该在我的UI层中一起创建一个不同的枚举定义,然后在将业务层中的信息传递到UI层时映射枚举吗?或者我的业务层中定义的枚举是否也可以在我的UI层中使用?
答案 0 :(得分:4)
使用相同的枚举。这样可以减少混淆,让您只需一个地方查看内容,并在您需要进行更改时更轻松。
模型/视图分离对于保持逻辑非纠缠非常有用,但使用一组枚举不会妨碍它。
我要做的一个例外是,如果你需要保持代码的不同部分不共享标题,因为你希望进行大量的条件编译或链接,但这听起来不像这里的情况。
答案 1 :(得分:1)
嗯,实际上enums是int(大多数时候)的快捷方式。
如果您想为枚举使用自动下拉列表并更改文本,或者如果您想将DAL“关闭”为项目,例如,可能需要制作类似
的内容public enum ADalEnum : int
{
One = 1,
Two = 2,
Three = 3
}
...
public enum MappedEnum : int
{
One_Little_Indians = ADalEnum.One,
Two_Little_Indians = ADalEnum.Two,
Three_Little_Indians = ADalEnum.Three,
}
所以它会“相同”。