自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

ESRI為什么選擇JSF

開(kāi)發(fā)
本文介紹在這300多種framework中,ESRI為什么選擇JSF?各個(gè)framework有各個(gè)framework的好處。JSF最大的優(yōu)點(diǎn)就是:像Swing和AWT一樣,JSF是一個(gè)可以提供一組標(biāo)準(zhǔn)的、可重用的 GUI 組件的開(kāi)發(fā)框架。

在正式開(kāi)講之前,我們來(lái)探討一下為什么要使用JSF來(lái)實(shí)現(xiàn)SERVER ADF,這也是很多開(kāi)發(fā)商跟我討論時(shí)經(jīng)常會(huì)問(wèn)到的問(wèn)題。

世界上有300種Java的framework,這個(gè)數(shù)字是我?guī)讉€(gè)月前聽(tīng)到的,現(xiàn)在可能已經(jīng)不止這個(gè)數(shù)了。我曾經(jīng)用過(guò)的framework包括 Structs,Hibernate,Spring。這些framework不但能加速開(kāi)發(fā),而且會(huì)帶來(lái)全新的程序設(shè)計(jì)理念。我當(dāng)時(shí)的感覺(jué)是:原來(lái)程序還可以這樣寫(xiě)! 當(dāng)然,這些framework都是開(kāi)源免費(fèi),你不用擔(dān)心自己的良心受到譴責(zé),也不用擔(dān)心比爾蓋茨半夜敲門(mén)收錢(qián)。

在這300多種framework中,ESRI為什么選擇JSF?各個(gè)framework有各個(gè)framework的好處。JSF***的優(yōu)點(diǎn)就是:像 Swing 和 AWT 一樣,JSF 是一個(gè)可以提供一組標(biāo)準(zhǔn)的、可重用的 GUI 組件的開(kāi)發(fā)框架。

選擇JSF的原因: 行為與表示的完全分離。

行為和表現(xiàn)不分離的一個(gè)典型例子是普通的JSP 技術(shù),這一技術(shù)很好,因?yàn)楹苋菀自?HTML(和類(lèi) HTML)頁(yè)面中混合 Java 代碼。這樣我們就可以使用強(qiáng)大的Java API的功能。當(dāng)然,很明顯的壞處是行為表現(xiàn)黏合在一起。而且代碼不容易重用。這讓我想起剛使用JSP技術(shù)時(shí),在文本編輯器下寫(xiě)JSP頁(yè)面,讀寫(xiě)數(shù)據(jù)庫(kù),并且在同一個(gè)頁(yè)面上顯示出來(lái)的痛苦回憶。

Model1架構(gòu)的出現(xiàn)使開(kāi)發(fā)人員可以用javabean的方式進(jìn)行開(kāi)發(fā),舒服多了。當(dāng)然,還有更好的。

這就不得不提到著名的MVC結(jié)構(gòu),(MVC) model-view-controller架構(gòu)提供了一系列的設(shè)計(jì)模式,這些模式讓你可以輕松地應(yīng)用于程序地開(kāi)發(fā),特別是有界面程序的開(kāi)發(fā)。現(xiàn)在又有多少的程序是沒(méi)有界面的呢?
 
Model包裝了商業(yè)邏輯,也包含了數(shù)據(jù)持久的代碼,包括存取數(shù)據(jù)庫(kù)或者存取文件。Model***不要跟View有任何關(guān)系,它***不要知道誰(shuí)將顯示結(jié)果,是一個(gè)Swing界面,還是JSF界面,還是普通的JSP界面。為了做到這一點(diǎn),事先的規(guī)劃要花一些時(shí)間,但是相信我,這些花的時(shí)間帶來(lái)的價(jià)值將超過(guò)你的想象。如果設(shè)計(jì)得當(dāng),許多用ArcGIS Engine開(kāi)發(fā)的代碼可以輕松在Server中使用,不需要修改任何代碼。.net也是一樣。

View只用來(lái)顯示顯示邏輯,不能有任何商務(wù)邏輯。controller是view和model的橋梁,它和model進(jìn)行交互,并且把結(jié)果顯示在 Model中。顯示頁(yè)面的選擇也由controller進(jìn)行選擇。我會(huì)在后面的講座中詳細(xì)解釋JSF中的Controller的實(shí)現(xiàn)。

Structs,Spring都實(shí)現(xiàn)了MVC的架構(gòu)。但是它們都沒(méi)有像JSF這樣,提供一個(gè)事件驅(qū)動(dòng)的組件對(duì)象模型。大家可以想一想,一個(gè)平常在HTML 中使用的標(biāo)簽,     <input type="text" name="q">,在JSF框架中變成了一個(gè)組件,這個(gè)組件還可以有事件,而且可以對(duì)這個(gè)事件可以進(jìn)行編程。這是多么得激動(dòng)人心??! GIS程序需要和用戶(hù)進(jìn)行良好地交互,選擇一個(gè)事件驅(qū)動(dòng)的framework,可以更加容易編程和實(shí)現(xiàn)。
這是ESRI選擇JSF的重要原因之一

【編輯推薦】

  1. 程序員必備Java API
  2. 對(duì)于JSF的一些思考
  3. 從JSF的切入點(diǎn)控制JSF
  4. 幾個(gè)JSF流行名詞的解釋
  5. 淺談JSF的UI組件
責(zé)任編輯:佚名 來(lái)源: JavaEye
相關(guān)推薦

2011-11-28 10:21:52

Nginx特性

2012-02-28 09:11:51

語(yǔ)言Lua

2009-12-21 17:11:38

Linux認(rèn)證

2009-06-22 13:48:45

JSF是什么

2023-02-26 01:25:23

Sanic框架工具

2020-06-10 09:06:48

MongoDB架構(gòu)高可用

2013-10-22 15:18:19

2017-02-27 15:19:04

2016-08-19 16:27:52

數(shù)據(jù)庫(kù)Mongo DB開(kāi)發(fā)

2012-11-14 20:55:07

容錯(cuò)服務(wù)器選型CIO

2023-03-21 08:02:36

Redis6.0IO多線程

2009-06-11 11:22:40

JSFJSPJSF的UI組件

2015-02-11 10:22:25

對(duì)象存儲(chǔ)云共享S3存儲(chǔ)

2015-10-08 16:53:51

IaaSPaaS云應(yīng)用

2021-04-06 11:07:02

字節(jié)跳動(dòng)組織架構(gòu)

2011-06-16 15:29:22

2022-11-14 21:34:17

2016-09-27 21:25:08

Go語(yǔ)言Ken Thompso

2021-02-01 07:20:51

KafkaPulsar搜索

2014-03-24 10:49:20

諾基亞UI京東
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)