亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

解析J2EE型式的應用(上) (1)

2019-11-18 12:30:51
字體:
來源:轉載
供稿:網友

  一、概述
  
  許多實際開發軟件的人都沒有時間始終跟蹤注重有哪些關于設計和體系結構的言談,即使他們有時間,他們也是希望從中找出一些具體的應用以幫助他們在下一次焉設計系統的時候可以做出更明智的選擇。型式(pattern)是一個良好的體系結構和設計信息來源,可以練習軟件設計者。
  
  在許多專業水平的規則中,有一條要害的規則是不要低水平的重復。目前設計領域的一些實際情況,也就是一項設計大部分是在相關上下文環境中已有理想應用的綜合。沒有一個軟件設計師采用的是全新的一套思想來生成軟件系統;要害是把這些知識都匯集起來,以便于所有軟件設計師都可以生成更好的系統。來自Sun公司的Bill Joy的說法,表明并不是所有良好的思想都來自Sun公司內部,因此人們必須對其他領域打開自己的思想。幸運的是,軟件開發者越來越注重分享他們的思想,在開放源代碼(Open Source) 社團中,人們還共享代碼。這種在代碼和思想上合作的趨勢促成了軟件設計型式(pattern)目錄的產生,這些內容可供公共使用,并且可以幫助人們設計各種不同的軟件系統。
  
  一個型式就是在一種給定上下文環境下已經證實的解決方案。具體環境越寬,對應的型式適用的面就越廣。在軟件術語中,型式實際上指人們在實踐中獲得的“經驗總結”,指出在指定、設計和實現軟件系統時哪些工作效果最好。
  
  在許多軟件和系統領域都可以找到型式。在高層,人們在執行特定領域的分析時可以找到型式。在這種分析中發現的實體和關系將在一個業務方面反復出現。這種重復性使人們發現了相應的型式。假如你在某個特定領域工作,如金融或者電信,則調查一下現有的具體領域的型式可以節省時間和精力。型式也可以是某種特定技術或者語言專用的(有時稱為“慣用語”)。java專用的型式在語言慣用語的各級中都存在。
  
  二、J2EE型式的應用
  
  對于J2EE型式,可能對此最突出的體現就是由Sun Java Center的一些Java設計師所做的工作。他們已經根據Sun公司PRofessional Services(專業服務)人員多年基于J2EE的實際系統實現生成了一組專門用于J2EE的型式。這組型式位于在線的Java Developer Connection(Java開發者連接)中,并且正在通過J2EE Patterns電子郵件群發展和變化。
  
  Sun Java Center的J2EE型式針對的就是n層業務系統,并且根據駐留的層而分類為:Presentation、Business和Integradon。下表1顯示了此分類中的一些更常見的示例型式。
  
  這個列表只是Sun Java Center中提供的J2EE型式的一部分,J2EE型式也是J2EE Blueprints 的組成部分。提供的這些型式實例經過證實都可以在J2EE系統平臺上工作,這是對設計者的極大幫助。我們可以從別人的經驗中學習,并且觀察他們如何為自己的環境實現相關的型式。 我們不能只使用J2EE專用的型式或者其他任何型式,它們就像一堆積木,簡單地復制和粘貼這些代碼形成自己的解決方案而不更改任何代碼是不好的。有經驗的設計師將把一個型式作為一個總體指導使用,讓它符合特定上下文環境的需要。
  
  所有的應用程序上下文環境都有一定程度的惟一性,因此這些型式的實現必須經過調整以滿足我們特定的要求。同時,一組型式肯定無法覆蓋我們整個應用程序的要求。我們應該把型式看作為一組“設計時使用的”組件,可以經過調整然后通過自定義的邏輯結合起來(它本身是可以調整的)而得到最終的產品。
  
  表1 J2EE型式應用
  
 
   解析J2EE型式的應用(上) (1)(圖一)
  

  
  1、前端控制器型式
  
  為用戶生成顯示的視圖應該包含最少的業務代碼,以便于在多個視圖中共享以及可以獨立于具體的視圖而更改。這些規律也適用于為視圖提供普通服務的代碼以及在視圖之間提供工作流和導航的代碼。普通服務如安全性和狀態治理,不應在多個視圖之間復制,因為這樣會帶來系統維護方面的問題和一致性問題。與一個應用程序的某部分關聯的工作流,如進行一個在線購物的一系列步驟,當控制其相關導航的代碼分在多個視圖中的時候將更難被改變。
  
  Front Controller(前端控制器)型式引入了一個組件,它捕捉客戶請求并且進行下列一項或者多項處理:
  
  ●應用普通服務,如驗證和訪問控制。
  ●決定處理請求的適當視圖。
  ●通過處理用戶令牌和訪問的數據源為相關請求建立狀態信息。
  
  圖1顯示了一個前端控制器如何實現一個客戶和多個視圖之間的中介。這種中介可能是應用程序中一個工作流的一部分,也可以是在語言或者其他因素基礎上的一個選擇。
  
  
 
   解析J2EE型式的應用(上) (1)(圖二)
  圖1

  
  一個前端控制器可以與其他組件或者幫助器(helper)交互以提供要求的服務。前端控制器使用一個分離的分配器組件來實現要求的任何工作流也是常見的情況。它還將使用幫助器(如View Helper即視圖幫助器型式)來執行與業務有關的處理或者把狀態信息傳遞給視圖。圖2所示的情況說明了這些組件之間的交互。
  
  
 
   解析J2EE型式的應用(上) (1)(圖三)
  圖2
  

  
  2、復合視圖型式
  
  大多數基于Web的系統由許多不同的網頁或者視圖構成。每個視圖都將包括一些專用的功能,如同時可供選擇的部分產品列表,以及普通的導航、信息或者功能化元素。假如對于這些元素的代碼和格式在多個使用它的視圖中都重復,則系統會非常難于更新和維護,因為任何修復和更改都必須在相關代碼和格式處理出現的地方應用。
  
  作為一種解決辦法,復合視圖(Composite View)型式定義了各種階段以有效地把一個用戶的接口劃分成多個子視圖,并且可以被重新結合起來以生成需要的總體視圖。每個子視圖構成一個單獨的組件,可以與其他子視圖分開維護、更新和增強。構成復合視圖型式的一個示例Web網頁。在這里我們設計在屏幕頂部有一個Header View(標題視圖),在這個標題下方和網頁的左側有導航視圖,當然還有居中顯示的Main Body(正文)視圖。復合視圖的總體構成可以使用圖3所示的其他視圖。
  
  
 
   解析J2EE型式的應用(上) (1)(圖四)
  圖3
  

  
  視圖治理器可以包含在復合視圖和子視圖之間。一個視圖治理器的使用是可選的,但假如要求有條件地包含一些內容,則它會有用。作為一個jsp網頁實現而不包含一個視圖治理器的簡單復合視圖實現,如下:
  
  <table border="0" valign="top" width="100%">
  <tr>
  <td><jsp:include page="templates/header.jsp"/></td>
  </tr>
  <tr>
  <td><jsp:include page="tenlolates/navigation.jsp"/></td>
  </tr>
  <tr>
  <td><jsp:include page="content/java_book_list.jsp"></td>
  </tr>
  </table>
  
  3、會話正面型式
  
  假如EJB簡單地用作業務數據的存儲或者簡單的業務服務,那么大多數業務邏輯都將仍然駐留在使用這些BJB的客戶上。這樣做是有害的,原因有兩方面。首先,它將再次帶來過量的網絡訪問,因為客戶要訪問很具體篩選的業務服務和數據。它還會把客戶強烈地聯系在業務處理中。這樣在客戶之間造成了不必要的業務代碼分散和重復。
  
  解決的辦法是采用正面(Facade)型式的一種變形,正面(Facade)是指一個對象或者組件,它被引入到客戶和一個復雜的子系統之間。這個正面只展示客戶要求的服務以及相關的綜合服務,這樣可以提供粗選的相應服務(不是細選)。在J2EE型式術語中,會話正面(session Facade)為業務邏輯和多個EJB封裝的服務執行這個角色。會話正面,如其名字所示,采取的是一個會活EJB的形式??蛻襞c會話正面通信,會話正面再根據其他EJB如實體bean來提供業務服務。
  
  圖4顯示了一個會話正面如何控制對多個實體bean的訪問并且提供一個對客戶統一的接口。會話正面雖然一般用作基層實體EJB的一層掩護,但一個會話正面既可以從其他會話EJB訪問服務和數據,也可以從數據訪問對象(Data access Objects)來訪問。這些類之間的關系如圖4所示。
  
  
 
   解析J2EE型式的應用(上) (1)(圖五)
  圖4
  

  
  
  
  通常,會話正面會為一個或者多個業務使用案例封裝相關功能。通過對該正面的一次調用可以得到多個業務操作(這種情況有時稱為批處理方法分布式型式/慣用語)??蛻粝胍獔绦械牟僮鞑皇窃诜祷匾唤M值對象(Value Objects)的一個會話bean上的操作,而是可以移植到會話正面中。接著發生的是在服務器上迭代處理數據,只把結果傳送回客戶。這樣就減少了網絡傳輸量,當然也給服務器處理帶來了一些負擔。
  
  4、服務定位器型式
  
  從代碼中看,在一個EJB的業務接口上使用方法帶來的負擔相對較小,只需要處理遠程異常而已。但是EJB的生成需要有專門的基于JNDI的代碼來發現主接口并且生成需要的EJB。這就迫使客戶要包含相關代碼以處理上下文環境的牛成、查找并且縮小引用的范圍。同時,任何其他的復雜化如主接口引用的緩沖存儲,必須被每個客戶重復。
  
  服務定位器(Service Locator)型式定義了一個對象可以如何執行與多個客戶關聯的多個EJB的查找和生成任務。客戶只是簡單地找到服務定位器,并且請求對需要的EJB的一個引用。所有與JN

上一篇:J2EE 的結構

下一篇:SCWCD 學習資料介紹

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩少妇与小伙激情| 亚洲精品aⅴ中文字幕乱码| 成人黄色在线观看| 黑人狂躁日本妞一区二区三区| 国产欧美精品va在线观看| 欧美夜福利tv在线| 91国产中文字幕| 精品国产成人在线| 久久综合久久八八| 亚洲加勒比久久88色综合| 亚洲a一级视频| 亚洲国产美女久久久久| 午夜精品美女自拍福到在线| 欧美在线欧美在线| 亚洲黄色免费三级| 搡老女人一区二区三区视频tv| 日韩中文在线不卡| 69av成年福利视频| 成人免费淫片aa视频免费| 亚洲欧美日韩成人| 成人久久久久久久| 欧美与欧洲交xxxx免费观看| 欧美在线一级视频| 琪琪亚洲精品午夜在线| 亚洲国产精品成人va在线观看| 亚洲男女自偷自拍图片另类| 国产精品久久久久久搜索| 亚洲情综合五月天| 久久人人爽人人| 国产ts人妖一区二区三区| 青草热久免费精品视频| 国产精品尤物福利片在线观看| 欧美一级成年大片在线观看| 国产在线一区二区三区| 欧美在线观看www| 国产精品久久久久高潮| 青青草原一区二区| 亚洲一区二区久久久| 国产精品视频网站| 一夜七次郎国产精品亚洲| 97视频色精品| 亚洲国产精品va在看黑人| 久久久久久久久久国产精品| 富二代精品短视频| 日韩精品久久久久久福利| 日韩欧美视频一区二区三区| 在线丨暗呦小u女国产精品| 精品亚洲va在线va天堂资源站| 欧美日韩综合视频网址| 国产精品视频xxxx| 国模极品一区二区三区| 一区二区欧美在线| 蜜臀久久99精品久久久久久宅男| 欧美激情亚洲视频| 俺也去精品视频在线观看| 国产亚洲人成网站在线观看| 日韩中文字幕网址| 国产精品99久久久久久久久| 97婷婷涩涩精品一区| 亚洲精品久久久一区二区三区| 92福利视频午夜1000合集在线观看| 国产aⅴ夜夜欢一区二区三区| 久久噜噜噜精品国产亚洲综合| 欧美黄网免费在线观看| 97久久伊人激情网| 亚洲第一福利在线观看| xxxxx成人.com| 91在线直播亚洲| 久久九九精品99国产精品| 亚洲激情视频在线观看| 中文在线资源观看视频网站免费不卡| 尤物精品国产第一福利三区| 亚洲精品免费网站| 久久精品视频在线播放| 亚洲视屏在线播放| 亚洲视频综合网| 在线成人免费网站| 国产精品精品国产| 2019精品视频| 欧美国产亚洲精品久久久8v| 国产一区二区三区在线观看视频| 国产福利精品视频| 中文日韩在线观看| 日本久久久久久| 欧美激情精品久久久久久蜜臀| 国产精品视频地址| 国内精品久久影院| 亚洲一区免费网站| 97视频在线观看成人| 国产精品扒开腿做爽爽爽男男| 久久影视三级福利片| 精品五月天久久| 精品福利在线观看| 这里只有精品丝袜| 国产日韩av在线| 97在线观看免费高清| 综合网中文字幕| 亚洲精品久久久久久久久| 国产精品久久久久福利| 国产精品情侣自拍| 91精品久久久久久久| 欧美日韩国产色视频| 不卡av日日日| 亚洲欧美综合另类中字| 亚洲人午夜精品| 91国语精品自产拍在线观看性色| 亚洲国产高清福利视频| 国产精品高潮呻吟久久av黑人| 欧美成人精品一区二区三区| 亚洲欧美日韩国产中文| 精品人伦一区二区三区蜜桃免费| 亚洲无限乱码一二三四麻| 欧美成人免费全部| 91麻豆国产精品| www.亚洲男人天堂| 国产精品一区二区久久久久| 国产一区二区三区高清在线观看| 久久久久久久一区二区三区| 九九热最新视频//这里只有精品| 久久中文精品视频| 日韩欧美在线免费| 日韩av在线网页| 欧美中文在线观看| 福利一区视频在线观看| 欧美亚洲日本网站| 国产99久久精品一区二区永久免费| 国产精品视频大全| 97福利一区二区| 成人在线一区二区| 69视频在线播放| 欧美精品激情视频| 亚洲精品98久久久久久中文字幕| 91av免费观看91av精品在线| 欧美激情在线播放| 亚洲第一精品夜夜躁人人爽| 亚洲国产日韩欧美综合久久| 中文字幕自拍vr一区二区三区| www.久久草.com| 国产精品九九久久久久久久| 欧美裸体xxxxx| 亚洲精品aⅴ中文字幕乱码| 精品美女国产在线| 国产精品96久久久久久又黄又硬| 日本精品va在线观看| 国内精久久久久久久久久人| 欧美三级欧美成人高清www| 日日狠狠久久偷偷四色综合免费| 日韩av在线免播放器| 亚洲综合在线做性| 欧美另类老肥妇| 亚洲国产中文字幕久久网| 亚洲一区二区自拍| 欧美xxxx做受欧美| 啪一啪鲁一鲁2019在线视频| 国产一区在线播放| 中文字幕国产日韩| 国产精品一区二区久久久| 久久精品视频网站| 日韩在线中文视频| 九九热这里只有精品免费看| 亚洲精品国产综合区久久久久久久| 96精品久久久久中文字幕| 亚洲精选在线观看| 日韩欧美国产网站|