1. 程式人生 > >簡單區分軟體開發中幾個概念:C/S結構和B/S結構、三層結構和兩層結構、MVC和三層架構

簡單區分軟體開發中幾個概念:C/S結構和B/S結構、三層結構和兩層結構、MVC和三層架構

C/S——客戶端/服務端,簡單講就是客戶端電腦上需要安裝專有的軟體來更伺服器交流,就像QQ。主要通過訊息的機制傳遞(當然也可以自己寫協議,遊戲就是這樣做的。)

B/S——瀏覽器/服務端,你只要有瀏覽器就可以與伺服器進行通訊,不用再安裝專門的客戶端,通訊協議使用HTTP協議...比如WebQQ

C/S,B/S說的是系統的體系結構,故我們平常應該說C/S結構,B/S結構

MVC——模型model,檢視view,控制器controler,是一種設計模式,也可以理解為一種軟體設計的思想。主要用來使檢視層和業務邏輯層分離,控制器主要起到分離這樣的目的。

三層/兩層結構,這邊應該說的是客戶機/伺服器模式和應用伺服器模式。

客戶機/伺服器模式因為客戶端一層,伺服器一層,故曰兩層,但伺服器層包含應用程式層和資料庫服務層(理解為一臺伺服器上同時提供應用服務和資料庫服務),多數是C/S結構。

應用伺服器模式也一樣,瀏覽器一層,應用伺服器一層,資料庫伺服器一層,故曰三層(把客戶機/伺服器模式中的伺服器拆為兩個伺服器使用。),多數是B/S結構

還有一種情況的三層,是軟體架構方面的三層:使用者介面層UI,業務邏輯層BLL,資料訪問層DAL。

它是一種軟體架構方法要與MVC區別,它比較傾向於具體的實現,而MVC比較傾向於軟體思想方面

可以是通過MVC的思想,使用三層架構來實現UI層與業務邏輯層分離。比如:

使用者介面層UI——對應——View

業務邏輯層+資料訪問層——對應——Model

Controler用來使得View和Model分離,就是View和Model不能直接通訊

如果使用AJAX來進行WEB開發,可以把AJAX中的xmlhttp物件當成Controler。