关于PHP的设计模式

godsolio 2012-03-18 12:01:23
大家有没有 参与过比较系统的项目 或者 应用,你们在系统框架设计的思路是怎么样的?

现在很多人都谈MVC, 这种设计模式比较 易于维护。

也有人把MVC 引入到 php设计模式中,

但是我想问 MVC 真的适合php吗?

我总觉的 PHP 实现 MVC 很别扭, 毕竟一个php文件中的 程序,当它执行完后就被释放掉了, 而java/c# 中的程序是常住于内存中的, 所以PHP 中的 Module这层 每次调用都从头开始, 这样开销不会很大?

而且我认为 PHP 实现 MVC 这里面的 Controller 简直就是可有可无的。如果有这么设计过的肯定 也有我这种感受。

各位有什么高见呢?
...全文
145 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
ci1699 2012-03-20
  • 打赏
  • 举报
回复
#5

一些逻辑处理是在Controller中完成,怎会微不足道了呢。
freedom_gooboy 2012-03-20
  • 打赏
  • 举报
回复
1楼,2楼说得很不错了,存在既有理,主要是一种思想,易于后期开发和维护,当然一开始我也觉得别扭,为什么要这样,把一个简单的事情要复杂化!
godsolio 2012-03-20
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 fantast_tianhe 的回复:]

楼主说controller 可有可无, 我觉得你对MVC了解不够深, 最少数据层和逻辑业务处理上MVC脱离了C,你写的程序就会不断的耦合, 那么未来可维护性就更差了, MVC不仅仅是为了更易于维护,更重要的,他在作降低耦合的几率,在开发程序的过程中我是深有感受
[/Quote]

其实吧, 我说可有可无是为了引出大家的意见, 因为我实在不知道Controller 在程序中应该放在什么位置,谢谢你。
fantast_tianhe 2012-03-20
  • 打赏
  • 举报
回复
楼主说controller 可有可无, 我觉得你对MVC了解不够深, 最少数据层和逻辑业务处理上MVC脱离了C,你写的程序就会不断的耦合, 那么未来可维护性就更差了, MVC不仅仅是为了更易于维护,更重要的,他在作降低耦合的几率,在开发程序的过程中我是深有感受
godsolio 2012-03-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 xuzuning 的回复:]

MVC 一种软件架构模型,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。
既然是架构模型,就不存在是否适合某种语言的问题。他只不过是一种思路,一个看待事物的方法
MVC 也不象你说的那样 比较易于维护,相反 由于它的内部原理比较复杂,所以需要花费一些时间去思考。开发一个MVC模式架构的工程,将不得不花费相当可观的时间去考虑如何将MVC模式运……
[/Quote]

关于Controller 这点是我最 疑惑的地方 ,因为它做的事情实在是 太微不足道了, 这样显得MVC三层框架有点失衡的感觉……
coder 2012-03-19
  • 打赏
  • 举报
回复
其实mvc现在在,主流的开发语言中都在用。

其实mvc主要的作用不是提高性能,和加速。毕竟框架是有体积和损耗。

用mvc等等目的我个人认为主要是编码,维护,便于开发。
xuzuning 2012-03-18
  • 打赏
  • 举报
回复
MVC 一种软件架构模型,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。
既然是架构模型,就不存在是否适合某种语言的问题。他只不过是一种思路,一个看待事物的方法
MVC 也不象你说的那样 比较易于维护,相反 由于它的内部原理比较复杂,所以需要花费一些时间去思考。开发一个MVC模式架构的工程,将不得不花费相当可观的时间去考虑如何将MVC模式运用到应用程序中,同时由于模型和视图要严格的分离,这样也给调试应用程序带来了一定的困难。每个构件在使用之前都需要经过彻底的测试。另外由于MVC模式将一个应用程序分成了三个部件,所以这意味着同一个工程将包含比以前更多的文件。

Controller 简直就是可有可无的 少了 C 还是 MVC 吗?
Module这层 每次调用都从头开始, 这样开销不会很大? 不用 MVC 就没有开销了吗?所需的功能总是要有代码实现的吧?

4,250

社区成员

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

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