+ -
当前位置:首页 → 问答吧 → REST vs MVC 有何份别?

REST vs MVC 有何份别?

时间:2013-11-04

来源:互联网

1) REST vs MVC 有何份别?
2) 以下的 php code 中, 篮色的 {} 有何用?
3) 文中 php:// 是什么?

class Control { static function exceptionResponse($statusCode, $message) {
header("HTTP/1.0 {$statusCode} {$message}");
echo "{$statusCode} {$message}";
exit;
}
function index() {
echo 'index...';
}}

作者: p_net   发布时间: 2013-11-04

引用:原帖由 p_net 於 2013-7-15 01:14 AM 发表
1) REST vs MVC 有何份别?
2) 以下的 php code 中, 篮色的 {} 有何用?
3) 文中 php:// 是什么?

class Control { static function exceptionResponse($statusCode, $message) {
header("HTTP/1.0 { ...
建议参考:
http://en.wikipedia.org/wiki/Representational_state_transfer
http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller
http://www.php.net/manual/en/language.types.string.php 中的 Complex (curly) syntax
http://www.php.net/manual/en/wrappers.php.php

作者: xianrenb   发布时间: 2013-11-04

1) 即是如何?

作者: p_net   发布时间: 2013-11-04

引用:原帖由 p_net 於 2013-7-18 05:16 PM 发表
1) 即是如何?
我的理解是两者根本无关系。

REST 大概是一般指用 GET 、 PUT 、 POST 及 DELETE 的 HTTP request 来作 API 的方式。
不过现在应该兴只用 GET 及 POST 的普通 Web API 了。
MVC 是把程式分成 model 、 view 、 及 controller 的方式。

作者: xianrenb   发布时间: 2013-11-04

引用:原帖由 xianrenb 於 2013-7-18 07:48 PM 发表


我的理解是两者根本无关系。

REST 大概是一般指用 GET 、 PUT 、 POST 及 DELETE 的 HTTP request 来作 API 的方式。
不过现在应该兴只用 GET 及 POST 的普通 Web API 了。
MVC 是把程式分成 model 、 view ...
这点我也明白...

有无人知得更多?

作者: p_net   发布时间: 2013-11-04

Diplomatic debate?
引用:原帖由 p_net 於 2013-7-18 23:06 发表
这点我也明白...

有无人知得更多?

作者: a8d7e8   发布时间: 2013-11-04

引用:原帖由 a8d7e8 於 2013-7-22 02:41 AM 发表
Diplomatic debate?

以上是什么?

我只系知 core difference between REST and MVC

作者: p_net   发布时间: 2013-11-04

咁你点解想知啊?
引用:原帖由 p_net 於 2013-7-23 00:04 发表
以上是什么?

我只系知 core difference between REST and MVC

作者: a8d7e8   发布时间: 2013-11-04

因为我看完讲解都不知分别在那里, 只是作法不同

作者: p_net   发布时间: 2013-11-04

为甚么要知道分别? 根从何来?
引用:原帖由 p_net 於 2013-7-23 01:02 发表
因为我看完讲解都不知分别在那里, 只是作法不同

作者: a8d7e8   发布时间: 2013-11-05

引用:原帖由 p_net 於 2013-7-15 01:14 AM 发表
1) REST vs MVC 有何份别?
2) 以下的 php code 中, 篮色的 {} 有何用?
3) 文中 php:// 是什么?

class Control { static function exceptionResponse($statusCode, $message) {
header("HTTP/1.0 { ...
Blog 里边果段code, mvc分工己经吾系分得好清楚了,差吾多全部得个controller,
个view 就甘 系mock class 中用4 个function 求其捞埋一起,个model都吾知系边 ,然后controller 用http method (get, put, delete, post)反射,对应返果4个functions. 就甘睇,确实难分原汁原味MVC 主旨 嘅

作者: form5   发布时间: 2013-11-05

又因为mock class extend from controller, 原则上 mock 都系controller, 所以全份code 严格黎讲 系冇view 同model, i.e., 吾可以当系mvc 嚟睇,只可以当restful example 黎睇,都算符合题目"restful 介面实作示范"

作者: form5   发布时间: 2013-11-05

文章尾部话,"要从反射能力上挑Java 的痛脚实在太容易,派PHP 去叫阵就够了"

呢句睇吾明,有冇java 佬解释下

作者: form5   发布时间: 2013-11-05

引用:原帖由 form5 於 2013-7-27 01:05 AM 发表
文章尾部话,"要从反射能力上挑Java 的痛脚实在太容易,派PHP 去叫阵就够了"

呢句睇吾明,有冇java 佬解释下
我系 java 佬,但唔太熟 php ,故只可以勉强答你一下。

文中所讲既反射应该系指 reflection, Java 既 reflection 能力不弱,spring 同 hibernate 好多 frameworks 都系建基於 java reflection之上。文中所讲既Java 的痛脚可能系指语法上,java reflection 用起上来真系唔系好方便,重有好多怪诞既符号 如 "[Ljava/lang/String" 代表 string array,都直接从 jvm 层面毫不修改就借用过来,真系一 d 都唔优雅。 但话说回来,用 java 同 php 比又唔系太公平,因二者性质唔同。

作者: 鸟寑e世   发布时间: 2013-11-05

引用:原帖由 鸟寑e世 於 2013-7-27 12:40 PM 发表
我系 java 佬,但唔太熟 php ,故只可以勉强答你一下。
文中所讲既反射应该系指 reflection, Java 既 reflection 能力不弱,spring 同 hibernate 好多 frameworks 都系建基於 java reflection之上。文中所讲既 ...
应该吾系啦,可能系讲反射效率同安全性,quote 返原作者
复制内容到剪贴板代码:关於 PHP 的反射能力,我之前谈过不少,例如PHP5 的动态函数/行为调用效率测试 、Reflection 於设计 Framework 时之安全性作用 。要从反射能力上挑 Java 的痛脚实在太容易,派 PHP 去叫阵就够了。

作者: form5   发布时间: 2013-11-05

引用:原帖由 form5 於 2013-7-28 01:53 AM 发表


应该吾系啦,可能系讲反射效率同安全性,quote 返原作者关於 PHP 的反射能力,我之前谈过不少,例如PHP5 的动态函数/行为调用效率测试 、Reflection 於设计 Framework 时之安全性作用 。要从反射能力上挑 Java 的痛 ...
deam, 依家先睇到

就执行效率而言,好难一概而论,不竟每个 jvm 都有自己实现 reflection 既方法。讲返 sun ,佢 推出reflection时自己都讲过: 如果程式执行效率系重要既考虑因素,系无取代方案时先好用 reflection。可想而知佢既实作系几咁烂。但近几年 spring 既成功,执行效率又好似唔系一个问题了。可能电脑愈来愈快既关系。


讲埋安全性,java reflection 可以话完全破坏左 oo encapsulation 既原则。因为你可以用 reflection 执行 object 任何一个 method 或者存取任何 field 既 values,就算系 private, protected 都得。但咁又唔系一件坏事,起码对於一d 钟意搅搅震既 programmer 来讲,无疑多左一个后门。而 sun 自己都唔觉得系一个安全问题,因为 java security model 可以系另一个层面防止一 d 不允许既行为。包括以上所讲 access private member 既行为。我反而觉得系系安全同弹性之间攞到个平衡。

[ 本帖最后由 鸟寑e世 於 2013-7-28 07:45 AM 编辑 ]

作者: 鸟寑e世   发布时间: 2013-11-05

引用:原帖由 鸟寑e世 於 2013-7-28 07:43 AM 发表
deam, 依家先睇到

就执行效率而言,好难一概而论,不竟每个 jvm 都有自己实现 reflection 既方法。讲返 sun ,佢 推出reflection时自己都讲过: 如果程式执行效率系重要既考虑因素,系无取代方案时先好用 ...
假如讲效率,我觉得冇乜数据持支持 好难衡量嘅
假如讲设计,好似blog 主一幢大楼搭出黎 得佢自己住得 都系麻麻哋

作者: form5   发布时间: 2013-11-05

引用:原帖由 form5 於 2013-7-29 10:31 PM 发表


假如讲效率,我觉得冇乜数据持支持 好难衡量嘅
假如讲设计,好似blog 主一幢大楼搭出黎 得佢自己住得 都系麻麻哋
可能有做过测试,但未见过。而且已经好多技术同产品base on java reflection ,从侧面实明左一般application 效率应该唔系问题

你既一幢大楼比喻系咩野意思。

作者: 鸟寑e世   发布时间: 2013-11-05

希望各位讲返个题目, 唔好离题

REST vs MVC 有何份别?

作者: p_net   发布时间: 2013-11-05

引用:原帖由 鸟寑e世 於 2013-7-30 05:24 AM 发表

可能有做过测试,但未见过。而且已经好多技术同产品base on java reflection ,从侧面实明左一般application 效率应该唔系问题
你既一幢大楼比喻系咩野意思。
旧式inheritance 一路扩展,成幢大厦甘

作者: form5   发布时间: 2013-11-05

引用:原帖由 於 2013-7-31 11:28 PM 发表
希望各位讲返个题目, 唔好离题

REST vs MVC 有何份别?
抱歉,最后呢个
引用:原帖由 於 2013-7-31 11:47 PM 发表

旧式inheritance 一路扩展,成幢大厦甘
明白,讨论结束

作者: 鸟寑e世   发布时间: 2013-11-05

甚么叫reflection..?

作者: Susan﹏汪汪   发布时间: 2013-11-05

引用:原帖由 Susan﹏汪汪 於 2013-8-1 10:36 AM 发表
甚么叫reflection..?
哈哈,又离题

睇下楼上楼主讲乜

作者: 鸟寑e世   发布时间: 2013-11-05

引用:原帖由 鸟寑e世 於 2013-8-1 12:05 PM 发表

哈哈,又离题

睇下楼上楼主讲乜
回应楼主的话...这两东西就是风马牛不相及的东西吧

一个是http的操作请求方法
一个是软体设计模式

就是这分别... (((End post??

好吧...甚么是reflection??? (((欠打XD





[ 本帖最后由 Susan﹏汪汪 於 2013-8-1 12:28 PM 使用 编辑 ]

作者: Susan﹏汪汪   发布时间: 2013-11-05

How about this: what can be the relationship between REST and MVC?

作者: ricyik   发布时间: 2013-11-05

引用:原帖由 Susan﹏汪汪 於 2013-8-1 12:26 PM 发表

回应楼主的话...这两东西就是风马牛不相及的东西吧

一个是http的操作请求方法
一个是软体设计模式

就是这分别... (((End post??

好吧...甚么是reflection??? (((欠打XD



http://i.discuss.com.hk/d/images/r10 ...
of course NOT... both are the architure of programming design..

and please bring no off-topic materials to this topic

作者: p_net   发布时间: 2013-11-05

引用:原帖由 p_net 於 2013-8-2 02:42 AM 发表
of course NOT... both are the architure of programming design..

and please bring no off-topic materials to this topic
Yes
Software architecture只是一个大型软件/架构的蓝图吧...
基本上REST就是HTTP(互联网)的四个请求方法
而MVC是软件开发的设计模式...
真的不知道有甚么关系

作者: Susan﹏汪汪   发布时间: 2013-11-05

引用:原帖由 Susan﹏汪汪 於 2013-8-1 12:26 PM 发表

回应楼主的话...这两东西就是风马牛不相及的东西吧

一个是http的操作请求方法
一个是软体设计模式

就是这分别... (((End post??

好吧...甚么是reflection??? (((欠打XD

http://i.discuss.com.hk/d/images/r10 ...
拿! 楼主,今次我真系有睇#1 个 blog,不过未睇完,睇完再比 comment (如果有既话) 。略略立过,我倒倾向 from5 既说法。坦白讲,个 blog 入面既例子体会唔到RESTful有乜独特之处,睇埋 Architectural Styles and the Design of Network-based Software Architectures 条 link 再下结论吧。而且成个 blog 睇唔到有用 RESTful 去 implements MVC 既企图


最后,有一点想提一提,个blog 某 d 讲法是错误的:

「眼尖的 PHP 程序员应该会注意到,我虽然定义了 RESTfulInterface ,但其实在程式码中根本没有任何作用。 因为 PHP 的动态能力与反射能力根本不需要仰赖介面来检查方法。 我定义 RESTfulInterface 只是在唬弄 Java 语言的使用者。」

java reflection 亦唔需要仰赖介面来检查。例如
复制内容到剪贴板代码:public void InvokeAnyMethodByName(Object obj, String methodName, Class<?>[] paramTypes, Object[] parameters) throws Exception {
Class<?> cls = obj.getClass();
Method md = cls.getMethod(methodName, paramTypes);
md.invoke(obj, methodName, parameters);
}
但 index.php 同 mock.php有使用 reflection吗?

最最后,答一答汪汪既问题,但我直觉觉得汪汪是识的。所以无谓班门弄斧,由 Wiki 代答吧:http://en.wikipedia.org/wiki/Reflection_(computer_programming)

[ 本帖最后由 鸟寑e世 於 2013-8-2 06:17 AM 编辑 ]

作者: 鸟寑e世   发布时间: 2013-11-05

引用:原帖由 鸟寑e世 於 2013-8-2 06:12 AM 发表

拿! 楼主,今次我真系有睇#1 个 blog,不过未睇完,睇完再比 comment (如果有既话) 。略略立过,我倒倾向 from5 既说法。坦白讲,个 blog 入面既例子体会唔到RESTful有乜独特之处,睇埋 Architectural Styles and ...
好像没多有用的东西...

作者: Susan﹏汪汪   发布时间: 2013-11-05

引用:原帖由 鸟寑e世 於 2013-8-2 06:12 AM 发表

拿! 楼主,今次我真系有睇#1 个 blog,不过未睇完,睇完再比 comment (如果有既话) 。略略立过,我倒倾向 from5 既说法。坦白讲,个 blog 入面既例子体会唔到RESTful有乜独特之处,睇埋 Architectural Styles and ...
汪汪看过了一下

REST主要是server操作资讯以及跟客户交流的风格
MVC是软件设计风格

作者: Susan﹏汪汪   发布时间: 2013-11-05

引用:原帖由 鸟寑e世 於 2013-8-2 06:12 AM 发表

拿! 楼主,今次我真系有睇#1 个 blog,不过未睇完,睇完再比 comment (如果有既话) 。略略立过,我倒倾向 from5 既说法。坦白讲,个 blog 入面既例子体会唔到RESTful有乜独特之处,睇埋 Architectural Styles and ...
那个blog的作者好像样样都识但又不是全面的...
好像PHP那个他回应其他人对reflection的安全性问题...
他指出php的string是不能够当function来用...所以没eval效果

但除了基本概念错误...php是有eval function

而那个基本概念错误的
他大概是这么的做法
复制内容到剪贴板代码:$str = "echo $1";
$str(); //error, 由此推论php不具备eval能力
只要是了解到string同function间的不同点...任何人都知道那里出错了


php.net/manual/en/function.eval.php

[ 本帖最后由 Susan﹏汪汪 於 2013-8-2 01:26 PM 使用 编辑 ]

作者: Susan﹏汪汪   发布时间: 2013-11-05

引用:原帖由 Susan﹏汪汪 於 2013-8-2 12:53 PM 发表

汪汪看过了一下

REST主要是server操作资讯以及跟客户交流的风格
MVC是软件设计风格

留位

作者: 鸟寑e世   发布时间: 2013-11-05

引用:原帖由 Susan﹏汪汪 於 2013-8-2 01:14 PM 发表

那个blog的作者好像样样都识但又不是全面的...
好像PHP那个他回应其他人对reflection的安全性问题...
他指出php的string是不能够当function来用...所以没eval效果

但除了基本概念错误...php是有eval function

而那 ...
blog 主讲法唔系同你一样咩 ? 都是说 string 唔可以当 function 用。不是吗? 有点晕了

作者: 鸟寑e世   发布时间: 2013-11-05

或许有不少人把 MVC 及 REST 混淆吧!
如果是要搞 RESTful PHP ,或许以下值得参考:
http://www.recessframework.org/page/towards-restful-php-5-basic-tips

作者: xianrenb   发布时间: 2013-11-05

引用:原帖由 鸟寑e世 於 2013-8-2 06:12 AM 发表

但 index.php 同 mock.php有使用 reflection吗?
...
补充一下,仔细再睇,终於发现blog 主所讲既 reflection :
复制内容到剪贴板代码:$this->segments = explode('/', $_SERVER['PATH_INFO']);

array_shift($this->segments); // first element always is an empty string.

$controlName = ucfirst(array_shift($this->segments));

if ( !class_exists($controlName) ) {
...
$this->control = new $controlName;
但这谈不上是安全性吧。就算 user 乱咁打条 URL,php 搵唔到相应既 class 都会报错吧!? blog 主咁做只不过是死得好看一点罢了。对不? 有错请指正

[ 本帖最后由 鸟寑e世 於 2013-8-2 05:51 PM 编辑 ]

作者: 鸟寑e世   发布时间: 2013-11-05

引用:原帖由 鸟寑e世 於 2013-8-2 05:46 PM 发表

补充一下,仔细再睇,终於发现blog 主所讲既 reflection this->segments = explode('/', $_SERVER['PATH_INFO']);

array_shift($this->segments); // first element always is an empty string.

...
reflection 同本题无关, 请勿继续离题...

作者: p_net   发布时间: 2013-11-05

引用:原帖由 鸟寑e世 於 2013-8-2 05:12 PM 发表

blog 主讲法唔系同你一样咩 ? 都是说 string 唔可以当 function 用。不是吗? 有点晕了
他本身都说得不清不楚
引用:PHP 的 Variable Function 并不具备 eval() 语意。 PHP 将代表函数名称之变数的内容视为一个字串而非算式。
他就是说PHP没eval能力

作者: Susan﹏汪汪   发布时间: 2013-11-05

引用:原帖由 Susan﹏汪汪 於 2013-8-2 09:08 PM 发表
他本身都说得不清不楚他就是说PHP没eval能力
我唔想再离题啦系另一个 post 吹啦

http://computer.discuss.com.hk/viewthread.php?tid=22261506&extra=page%3D1&frombbs=1

作者: 鸟寑e世   发布时间: 2013-11-05

无计, 唔知道你真正用意, 无法想个周全之策去答.

如果答一句你先 challenge 一句, 有点无聊.
引用:原帖由 p_net 於 2013-7-31 23:28 发表
希望各位讲返个题目, 唔好离题

REST vs MVC 有何份别?

作者: a8d7e8   发布时间: 2013-11-05

热门下载

更多