我知道MVC在PHP应用程序中备受好评,但我不确定它适合JavaScript。如果您认为不然,那么请解释您如何以及在哪里处理常见场景,如AJAX请求,数据保存(离线存储),演示文稿,如何处理控制器逻辑(您是否拥有前端控制器?)等等。几乎完整的基于JavaScript的Web应用程序的体系结构?
Model-View-Presentation怎么样?
我使用ExtJS并仅将服务器用于永久性数据存储。
我知道MVC在PHP应用程序中备受好评,但我不确定它适合JavaScript。如果您认为不然,那么请解释您如何以及在哪里处理常见场景,如AJAX请求,数据保存(离线存储),演示文稿,如何处理控制器逻辑(您是否拥有前端控制器?)等等。几乎完整的基于JavaScript的Web应用程序的体系结构?
Model-View-Presentation怎么样?
我使用ExtJS并仅将服务器用于永久性数据存储。
如果你打算用JavaScript编码纯粹的UI,你能想到的东西你的PHP作为结束多Web服务的或API。
基本上,您的视图将是您在JS中编写的Ext JS东西。为了处理您的数据,Ext前端会对您的“服务”执行请求。基本上你会在你的服务器上有一种模型 - 控制器体系结构,控制器的工作是处理请求并输出JSON(供你的Ext前端使用)
本质上,后端的“视图”只会从json_encode输出,然后由实际的基于Ext的视图使用。
在JS中,你可以拥有控制器,取决于你正在做什么类型的东西。如果您只是显示来自服务器的数据,则可能不需要太多独立的逻辑。如果您正在做一些更复杂的处理,将代码分离到单独的控制器和视图可能会很有用。
这主要取决于你想要分离多少逻辑。
是的,我知道,但JavaScript呢?它是否有控制器,模型,视图或其他东西? – Tower 2010-07-25 16:40:08
编辑答案,希望有帮助=) – 2010-07-25 19:51:38
我不知道我明白你要问你的问题,但我会给它一个镜头。
MVC是一种架构模式,其本质意味着尽可能保持数据模型,控制器和UI的松散耦合。
您正试图将其归结为技术层面,而这并没有什么意义。你可以用一个好的框架来做适当的MVC。只是为了说清楚,普通香草PHP 并不是给你良好的MVC支持。一个好的框架,比如CakePHP或CodeIgniter将会。
JS只是一个丰富客户端体验的好方法。这意味着,除非你在做服务器端的JS,否则你唯一拥有JS的地方就是在视图本身中。 AJAX请求与MVC无关。数据持久性也没有。除非你正在实现自己的控制器(并且你最好自己有一个该死的充分理由),否则你不应该担心它的内部逻辑。底线,如果你想做适当的MVC,使用合适的框架,并且所有的都将落实到位。
那么,你是否建议我使用JavaScriptMVC或其他框架?我很肯定会在服务器上使用模型和控制器,但我不知道在客户端做出好的架构决策。你看,目前我的应用程序是将数百个JavaScript文件分割成一些文件夹和文件。这不是很方便,那么就需要有一个JavaScript架构,就像MVC到服务器端语言一样。 – Tower 2010-07-25 16:43:59
当写你能想到MVC的,因为几乎完整的JavaScript应用程序:
PureMVC是一个非常酷的MVC框架。你应该检查一下。
我使用了相同的架构:在后端PHP的顶部主要是ExtJS的。
我的解决办法:
各个部件可以采用MVC模式,其中它是有意义的。无论如何,Ext倾向于鼓励MVC,将数据分离到商店并具有单独的渲染基础设施(尽管它将控制器逻辑与渲染的组件混合)。
我们谈论的服务器端JS呢? – 2010-07-25 09:21:45
服务器上的PHP,客户端上的JavaScript。 PHP是基于MVC,除了没有V.我想弄清楚如何处理JavaScript。 – Tower 2010-07-25 09:25:38