用户
 找回密码
 入住 CI 中国社区
搜索
查看: 7479|回复: 18
收起左侧

[模型] 理解模型的困惑

  [复制链接]
发表于 2011-10-17 11:08:10 | 显示全部楼层 |阅读模式

大虾们,MVC是否可以这样做呢?
M层:操作了数据库,并且把取出了的数据整理好,然后return数据。
C层:从M层取得数据,根据取得的数据的情况,控制跳转不同的视图。取得用户输入的数据,并进行合法验证,数据过滤,然后再传给M层。
V层:取得C层的数据,绑定数据。
如果是这样理解的话,那么:
建立一个C层文件,写一个function,对应着一个视图。
建立一个M层文件,写一个function(名字和C层的function同名),从数据库取数据,然后整理数据,然后给C层的一个function。
V层:获取C层数据,绑定数据。

大虾们,是不是可以这样做呢?这样做对不对呢?
发表于 2011-10-23 02:18:41 | 显示全部楼层
你可以这么理解,但写一个function(名字和C层的function同名)这个有误
M层,本身的意思是业务逻辑,但CI里面弱化M,只限于数据库处理
举例,前台、后台能需要用到“根据文章ID获取文章”这个方法,就可以写到M里面去,然后前台、后台都使用这个M

在CI里,小应用我一般直接省了M层,呵呵
发表于 2011-10-27 15:02:23 | 显示全部楼层
本帖最后由 acabin 于 2011-10-27 15:02 编辑

在ci里面model只是用于数据库存取……
相当于getUsernameById,updateUser之类的功能

发表于 2011-10-27 21:10:56 | 显示全部楼层
我也很少用M层
发表于 2011-11-3 20:27:50 | 显示全部楼层
我也很不理解啊!
求解!
发表于 2011-11-6 04:49:34 | 显示全部楼层
本帖最后由 五点晨曦 于 2011-11-6 04:51 编辑

CI里面model被弱化了,多数MVC框架都是由model处理业务逻辑的
这样做好处就是比较轻量,但是做大点的应用还是分清楚点好。
发表于 2011-11-7 12:25:42 | 显示全部楼层
model 是不是只放数据库操作,这个要看如何设计。
我不认为 CI 的 Model 只能放数据库操作,业务逻辑完全可以放到 Model 中。
发表于 2011-11-7 13:34:52 | 显示全部楼层
其实要这样想。一些处理的的逻辑,放哪方便?放哪里能更好的重用。就放哪里。mvc是一种方式,为我们服务的。方便了我们才有用。
发表于 2012-5-16 16:55:22 | 显示全部楼层
loadinger 发表于 2011-11-7 13:34
其实要这样想。一些处理的的逻辑,放哪方便?放哪里能更好的重用。就放哪里。mvc是一种方式,为我们服务的 ...

支持!不能为了mvc而mvc
发表于 2012-5-28 14:42:01 | 显示全部楼层
把mvc想的太死了。

本版积分规则