我应该在哪里初始化我的网格(为什么,请,我正在寻求远见而不仅仅是意见)?
一方面,将当前页码和排序顺序视为“视图关注”似乎是合乎逻辑的,从这个角度来看,在控制器中构建网格与在那里布置HTML非常相似。
另一方面,例如页面编号似乎是“位置关注”,在控制器中解析该指令更有意义。
从责任分离不明确的经验来看,我很有可能做出糟糕的选择,最后会进行重大的重构。
答案 0 :(得分:0)
您的视图应该请求一组数据(页码,排序顺序等)。您的控制器会对这些请求执行操作并将数据显示给视图。
我会使用默认视图和排序在控制器中初始化您的网格。在分页或排序时,视图会将参数或模型发送到控制器。我喜欢在控制器中保留尽可能多的逻辑。它可以更轻松地修改视图,创建移动视图,使用ajax而不是整页重新加载等。
还有很多支持分页和排序的第三方网格,你考虑过这个吗?然而,推出自己的并不难。