我知道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