素材牛VIP会员
mvc分层里model的分层思路
 qt***ah  分类:ThinkPHP  人气:1096  回帖:4  发布于6年前 收藏

单说model层
在运用某php框架的基础上
自己分封装的curd数据的基本通用方法、
带有一些特定逻辑的处理数据方法、
一般是以怎么结构存在model层里的
大家可以把自己做的项目的分层思路贴出来~
可不可以在层里运用静态方法
来提高速度
以上

讨论这个帖子(4)垃圾回帖将一律封号处理……

Lv4 码徒
小***学 软件测试工程师 6年前#1

model层一般用于做针对数据模型的业务逻辑,跟control层的业务逻辑是有差别的。
静态方法当然可以放在model层中,给control层调用。

Lv3 码奴
Go***ng 职业无 6年前#2

model是业务逻辑的层,会比较复杂。

我一般会把model分为3层

  1. 底层:curd,和数据库直接打交道,和业务无关。
  2. 中间层:由于底层的curd和业务无关,中间层通过组合底层模型的方法来实现一些比较复杂的逻辑,比如用户登陆功能,先得过滤表单,然后调用底层的模型去数据库查询,如果成功要更新一些记录(上次登陆时间、ip等),如果失败要写一些日志。总之就是组合调用底层封装好的模型,实现常用的功能。
  3. 上层:更抽象,组合调用中间层来实现特定逻辑。这一层的更偏向非公用的,而像用户登录、注册或者发文章这类的,几乎所有系统都会用到,就写到中间层去。那上次就负责和C层打交道,通过controller得知用户要干嘛,然后把这个请求拆分成不同模块交给中间层去干。

当然上层其实并不是必要的,这类逻辑你也可以写在controller,但是我更喜欢写在model里,这样controller会更加一目了然,分得更细,就更好查错,耦合也更低

Lv3 码奴
记***6 JAVA开发工程师 6年前#3

FormModel
ActiveRecordModel
LogicModel

Lv7 码师
97***84 产品经理 6年前#4

如果系统庞大复杂,可以进行业务领域模型建模。

 文明上网,理性发言!   😉 阿里云幸运券,戳我领取