獨立程式例如:Word Excel特點:優點:速度比較快,不受其他環境的影響。缺點:需要安轉專門的程式、更新比較麻煩、功能共用比較困難、資料無法共用。
C/S結構C表示Client,用戶端程式;S表示Server,伺服器端程式;典型的例子:伺服器端只有資料庫(共用資料)、QQ應用(功能分別在兩台機器上完成,對於每一台機器來說,有時候是用戶端,有時候是伺服器端)特點:用戶端仍然需要安裝單獨的應用,伺服器端可能是應用也可能是資料庫。有的僅僅共用資料,有的會共用功能。
B/S結構B是Browser,瀏覽器。S表示Server,是伺服器。特點:不需要專門的用戶端程式,只需要通用的瀏覽器作為用戶端。如果要維護程式,只需要在伺服器端進行即可。
多層結構多層結構不僅僅是指Web應用,但是我們以Web應用為例介紹,用戶端程式與Web應用的區別主要是IO上的區別。第一種:展示層(IO) 業務層(功能) 資料層(資料)第二種:展示層(IO)控制層 業務層(功能) 資料層(資料)第三種:展示層(IO)控制層 業務層(功能)資料訪問層 資料層(資料)第三種形式現在比較流行,又分為Sun公司的標準和流行組合,下面分別舉例描述:例1:Java的官方標準展示層:JSP+EL+JSTL控制層:Servlet業務層:會話Bean+JavaBean資料訪問層:JPA+實體Bean(BMP+CMP)資料層:DBMS例2:流行的組合(Struts+Hibernate)展示層:JSP+Struts的標籤庫+FormBean(用於傳值,屬於JavaBean,但功能主要是標單資料相關,所以劃分展示層)控制層:Struts的中心控制器Servlet+Action+struts-config.xml業務層:JavaBean資料訪問層:Hibernate資料層:DBMS
MVC模式MVC模式非常流行,與上面的分層有什麼關係呢?實際上,在上面的分層中加入了控制層,隱含的就是採用了MVC模式。在MVC模式中,業務層和存取控制層都屬於模型部分。註:JPA是Java Persistence API,持久性。封裝對資料庫的訪問。EJB3中提出的。EJB2中使用CMP和BMP。(Container Managed Persistence,Bean-Managed Persistence)Hibernate也是用於封裝對資料庫的訪問,稱為O/R映射工具。