Answers
model是业务逻辑的层,会比较复杂。
我一般会把model分为3层
- 底层:curd,和数据库直接打交道,和业务无关。
- 中间层:由于底层的curd和业务无关,中间层通过组合底层模型的方法来实现一些比较复杂的逻辑,比如用户登陆功能,先得过滤表单,然后调用底层的模型去数据库查询,如果成功要更新一些记录(上次登陆时间、ip等),如果失败要写一些日志。总之就是组合调用底层封装好的模型,实现常用的功能。
- 上层:更抽象,组合调用中间层来实现特定逻辑。这一层的更偏向非公用的,而像用户登录、注册或者发文章这类的,几乎所有系统都会用到,就写到中间层去。那上次就负责和C层打交道,通过controller得知用户要干嘛,然后把这个请求拆分成不同模块交给中间层去干。
当然上层其实并不是必要的,这类逻辑你也可以写在controller,但是我更喜欢写在model里,这样controller会更加一目了然,分得更细,就更好查错,耦合也更低
伪正太MK2
answered 10 years, 1 month ago