假设我有一个列出 Persons 的网站,每个 Person 都有多个属性,一些是一对一的(姓名、地址),一些是一对多的(最喜欢的颜色、银行账户等)。
在我的业务层中,它的层次结构很好。
我如何组织这是我的控制器和视图?我应该有 PersonsController、FavoriteColorsController 等吗?都驻留在同一个命名空间和文件夹中?或者我应该只拥有一个具有许多操作的 PersonsController,例如 IndexFavouriteColors、UpdateFavoriteColor 等。这两个选项都不完全正确。第一个没有表明 FavoriteColors 是 Person 的子级,并且只能在人的上下文中使用。第二个将创建一个巨大的 PersonController。
当然,观点也是如此。最好的就是拥有
- 视图/人员/index.aspx
- 视图/人员/details.aspx
- 视图/人/等
- 视图/人员/FavoriteColors/index.aspx
- 视图/人员/FavoriteColors/details.aspx
在这个例子中,我只为 Person 提供了几个一对多的属性,但实际上有很多 (10+),因此增加了对清晰度的需求。
谢谢。