关于MVC架构的深入思考-发现自己错误

 最近课比较少,读了基本PHP大作,也在github上阅读了几个优秀作品的源码,发现了自己在以往的代码结构中的可笑之处。
 


 php,做的最多的应该就是网站,其中进来通用的架构就是mvc架构,将视图、模型、控制器分开,以方便不同角色开发人员工作,前端和后端可以彻底分开。其中,将v分隔开,是非常容易理解的,只要数据和逻辑完全不出现在视图部分就可以了。但是MV这两部分如何区分,在初学这种架构时是一个大难题,最开始,新手经常做的就是,忽略模型层,将这种架构完全当作前后端分离架构使用,在控制器里完成所有的数据和业务逻辑操作,没错,我以前经常这么干。


 模型层的定义—-业务模型,不光是要处理数据,而且业务逻辑也应该放在这里,何况业务主要就是用来处理数据。模型层用来进行业务流程/状态的处理以及业务规则的制定,业务流程的处理过程对于其他层来说是黑箱操作,模型接受视图请求的数据,返回处理结果。
 业务模型的设计,是这种设计模式的核心部分,如何将一个应用的模型按照一定规则提取出来,需要很强的分析和建模能力,抽象和具体实现之间不能太远也不能太近。模型抽取的好坏,直接决定模型的重构和重用性。一个模型可以对应很多视图,一个视图也可以对应多个模型。
 至于控制器,它只作为一个模型和视图匹配的的分发器,它在层次上距离视图比较近一点。控制器完全不做任何数据处理。这样,就解决了我很久的困惑,真正掌握了mvc模式。
 其中重中之重的是模型的抽象能力,这个还是要多看优秀源码,积累经验。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值