MVC中的M和C的提问

ljh21521 2011-12-03 08:33:50
关于MVC思想,由于开发项目,发现C和M的交互非常多。那么,我想知道,当C调用M拿出数据后,这些数据的表现形式,比如要排序,,,,添加键值什么的,这些操作在C还是M完成。还有,如果C的业务逻辑指的是什么?是简单的if 。。条件判断用哪个M?? 求详细解答。。。。。。。。。感激不尽
...全文
1173 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
xjpphp 2011-12-13
  • 打赏
  • 举报
回复
如果是非常多,我觉得应该是业务逻辑非常复杂的情况下,那可以考虑helper方式,或者是aop思想,或者把做些工具类,代码好管理
a-_-a 2011-12-08
  • 打赏
  • 举报
回复
m你尽可能地提炼精简出一个基础class,而C主要负责处理流程,具体处理在M完成,这样做是多重复用,减少成本。比如新闻管理这一模块,你将curl等操作封装在m内,C就可以灵活的处理了,提交key及参数就会自己处理了,
joinusba 2011-12-08
  • 打赏
  • 举报
回复
MVC,名义上是为了实现View与业务逻辑区分,但是你在具体做的过程中可以根据自己的需要来处理,Model是完全可以不要的,不要太讲究MVC,MVC只是为了实现更好的分层而已。
华仔爱技术 2011-12-04
  • 打赏
  • 举报
回复
[Quote=引用楼主 ljh21521 的回复:]
关于MVC思想,由于开发项目,发现C和M的交互非常多。那么,我想知道,当C调用M拿出数据后,这些数据的表现形式,比如要排序,,,,添加键值什么的,这些操作在C还是M完成。还有,如果C的业务逻辑指的是什么?是简单的if 。。条件判断用哪个M?? 求详细解答。。。。。。。。。感激不尽
[/Quote]

数据的操作具体是放在M还是放在C,要根据这个数据的操作是否通用来决定。如果多个业务针对同一数据都需要排序,那么就放在M,如果有的业务要排序,有的业务要过滤,有的业务要修改键值,那么放在M就不合适了,只能放在C。

业务逻辑是站在用户的角度来说的,比如说你去银行取款,取款是一个业务,至于你实现取款业务时代码中有if,那只是代码逻辑,不能说一个if就是一个业务。
明天很困 2011-12-03
  • 打赏
  • 举报
回复
这些操作基本都是在控制器里完成的 也就是所谓的 C(控制器)=module(模块) 楼主说的大M应该指模块吧 业务逻辑一般指 比如数据库吧 就是增删改查了
ljh21521 2011-12-03
  • 打赏
  • 举报
回复
呃,帮个忙回答一下,只卡在这一步了,不是基础什么的不懂
felix_lg 2011-12-03
  • 打赏
  • 举报
回复
你及纠结了,在好好理解
ljh21521 2011-12-03
  • 打赏
  • 举报
回复
我还想加2个问题,
1.就是C能直接跳过M执行V么?毕竟有事不需要M,
2.比如插入,登陆等操作,c调用M验证后,直接用js返回,这算不算调用V?
ljh21521 2011-12-03
  • 打赏
  • 举报
回复
应该怎么调整思路
xuzuning 2011-12-03
  • 打赏
  • 举报
回复
如果 C和M的交互非常多 那么就应该调整思路了
你需要把 非常多的交互 要么并入 C,要么并入 M
不然就不能体现 MVC 的层次概念了

C能直接跳过M执行V么?
可以,但这就不是 MVC 了
Rabbit_52 2011-12-03
  • 打赏
  • 举报
回复
我看到一种思想是瘦控制器胖模块,觉得比较适合mvc的理念,就是尽量把功能写在模块里面,用控制器响应v的请求去调用什么的

4,250

社区成员

发帖
与我相关
我的任务
社区描述
国内外优秀PHP框架讨论学习
社区管理员
  • Framework
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧