web系統架構推薦?
WEB程序的架構基本上可以分成以下三類:
一 、基于“組件”(Component ,GUI設計也常稱控件)、事件驅動的架構,最常見的是微軟的.NET。基本思想是把程序分成很多組件,每個組件都可以觸發事件,調用特定的事件處理器來處理(比如在一個HTML按鈕上設置onClick事件鏈接到一個PHP函數)。這種設計遠離HTTP,HTTP請求完全抽象,映射到一個事件。
二 、基于“WEB頁面/文件”,例如CGI和PHP/ASP程序。程序的文件分別存儲在不同的目錄里,與URL相對應。當HTTP請求提交至服務器時,URL直接指向某個文件,然后由該文件來處理請求,并返回響應結果。
三 基于“動作”(Action)。這是MVC架構的WEB程序所采用的最常見的方式。目前主流的WEB框架像Struts、Webwork(Java),Ruby on Rails(Ruby),Zend Framework(PHP)等都采用這種設計。URL映射到控制器(controller)和控制器中的動作(action),由action來處理請求并輸出響應結果。這種設計和上面的基于文件的方式一樣,都是請求/響應驅動的方案,離不開HTTP。