到目前为止,我一直是开发Web应用程序的MVC模式的忠实拥护者。对于网络,我主要使用PHP(使用Kohana和CodeIgniter框架)和Ruby(RoR)开发。
随着我的应用程序在Ajax方面变得越来越繁重(单页应用程序等),我注意到我不禁出卖了MVC的最基本概念:Java语言正在做大部分工作;调用控制器只是为了请求视图或更多js / json代码似乎是错误的。
在努力将所有路由作业保留在控制器中之后,现在我从根本上将其分配给控制器和Javascript(即,从框架的PoV来看,是视图的一部分)。当请求json时,MVC的转换看起来更加明显:执行请求的js代码是控制器;框架的控制器仅充当模型数据的代理-实际上是我要的。
那么,我应该研究什么?
我当时在考虑使用纯JavaScript应用程序,例如,使用ribs.js和基于文档的JSON吐出数据库(couchDB)作为后端,但是我喜欢我的关系数据库。
另一个选择如下:我只是在PHP / ruby / go / whatnot中创建“路由模型”。这些将分析请求,调用数据库,并返回一些json。
这种方法对我来说似乎很有趣,但是它没有任何实质性的文档或学术分析,因此我有点害怕这种飞跃。
有想法吗?