适当的设计技术

时间:2013-10-15 20:14:40

标签: oop asp.net-mvc-4

我正在创建一个asp.net mvc4应用程序,它将根据用户输入的特定条件向用户询问一组问题。每个问题都存储在一个表格中,只有符合条件的问题才会显示给最终用户。

我正在使用一个viewmodel,它结合了来自几个不同表的信息。基本上它有一个问题列表和一个检查ID,将所有测试结合在一起。我的问题是填充视图模型的正确oo设计技术是什么。

用于填充viewmodel的方法/方法是否应驻留在viewmodel类本身中?基本上将实体传递给viewmodel并允许它填充自己。

如果您在实体中发送了一个新类,它将返回viewmodel?

或者有更好的方法来做到这一点。

1 个答案:

答案 0 :(得分:2)

是的,你的方法是有效的。

请考虑模型中的以下示例:

public List<Questions> Questions
{ 
get {
     QuestionRepository Rep = new QuestionRepository();
     return Rep.ObtainQuestions(ClientAge,ClientType)
     }
 }

public int ClientAge { get; set; }
public ClientTypeEnum ClientType { get; set; }

Questions属性中的getter包含所有逻辑。只要clientAge和ClientType属性具有有效值,就会填充问题列表。这样就可以避免在需要填充属性的每个操作方法中设置数据。

在示例中,我从存储库获取数据,但您可以从ORM实体框架或任何其他来源获取数据。

你可以google瘦名控制器一词,并阅读有关推荐和最佳实践的更多信息。