让我们说在我的mvc应用程序中,我有一个有许多不同类型的模型。有一个db表,但有一堆子类表示稍微不同的行为。
在页面上,有时我想显示所有这些模型类型的列表,有时(当一个当前处于活动状态时)显示该模型的详细信息。显示的细节相当小,最多只有几个字,所以我无法确定放在哪里。
选项1(旧的重构前方式):在包含每个详细信息字段属性的数组中。好处是我可以遍历所有可能的类型。有了类,没有什么可以迭代的。我宁愿摆脱这个数组。
选项2:在模型中作为属性。视图将根据当前活动类型访问这些属性,但我仍然无需迭代并显示所有类型。我可能必须明确地展示它们(只有9个,并不可怕。)
选项3:在单独的视图中,字面上写着。我会有9个不同的视图但这会让它们略有不同。每种类型的布局可能会有所不同。
对于一些细节,这是一个游戏,模型是你的角色可以做的一系列动作。它们的行为相似,但会以不同的方式影响不同的统计数据。
答案 0 :(得分:0)
为什么不选择这样的东西?
public interface ICharacter {
IEnumerable<ICharacterAction> Actions {get;set;}
}
public interface ICharacterAction {
string Description {get;set;}
}