【发布时间】:2011-12-28 22:54:02
【问题描述】:
我有以下真实世界的场景,为了这个例子,有些简化
我有一个对象,我们称它为 Movie,它将由几个属性组成,例如
- 发布日期
- 演员(数组)
- 类型
- 评分
我需要有一个可以输入新电影的表单,表单上包含以下元素:
- 日期日历
- 演员下拉列表
- 按流派下拉列表
- 带有星星的评分字段
使用 asp.net mvc 组织我的代码的清晰简洁的方法是什么,请概述在哪里
- 数据访问逻辑去
- 业务逻辑运行(验证等)
- 我想在这里使用 ViewModel 概念
到现在为止
- 电影模型
- MovieViewModel 视图模型
- IMovieRepository 接口
但我不清楚演员/流派数组如何适应这个以及我在哪里获取它的数据......它是否进入 IMovieRepository 接口?我是否为它创建另一个接口,换句话说,我是否为 ViewModel 创建一个接口?我是否也创建了一个用于获取流派的接口? 另一个问题: 如何使用 ViewModel?我需要更改应用程序设置中的任何内容吗?
控制器动作在他们的身体里有类似 View() 的东西......我如何在那里传递 ViewModel?我需要吗?
总而言之,我只是想要一个简单的例子来说明你将如何实现上述场景。
我是 MVC 新手,正在努力确保我的代码组织良好。
【问题讨论】:
-
您的 GUI 似乎与您的业务逻辑相矛盾。您说一部电影有多个演员,但您在 GUI 中提供了一个下拉列表,显然允许选择单个演员。同样代表收视率。似乎很奇怪。您的意思是多选下拉列表吗?
-
不,当一个演员被选中时,它会自动添加并显示在下拉列表上方的屏幕上,旁边有“x”(用于删除)。用户可以以这种方式选择几个动作。我很可能会为此使用 jquery ajax。用户只能对电影评分一次 - 我将编辑我的问题。
-
看sharparchitecture.net。它为 asp.net mvc 应用程序提供了一个可靠的架构(使用最佳实践)。
标签: asp.net-mvc code-organization