麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

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

設計模式在EJB中的應用(1)

2019-11-18 13:46:26
字體:
來源:轉載
供稿:網友

  設計模式在EJB中的應用(1)

什么是設計模式

   設計模式是一套被反復使用、多數人知曉的、經過分類編目的、代碼設計經驗的總結。使用設計模式是為了可重用代碼、讓代碼更輕易被他人理解、保證代碼可靠性。

  毫無疑問,設計模式于己于他人于系統都是多贏的,設計模式使代碼編制真正工程化,設計模式是軟件工程的基石,如同大廈的一塊塊磚石一樣。

  GoF的“設計模式”是第一次將設計模式提升到理論高度,并將之規范化,本書提出了23種基本設計模式,自此,在可復用面向對象軟件的發展過程中,新的大量的設計模式不斷出現。

設計模式和框架

   現在,可復用面向對象軟件系統現在一般劃分為三大類:應用程序 工具箱和框架(Framework),我們平時開發的具體軟件都是應用程序;java的API屬于工具箱;而框架是構成一類特定軟件可復用設計的一組相互協作的類。EJB(EnterPRise JavaBeans)是Java應用于企業計算的框架.

  框架通常定義了應用體系的整體結構 類和對象的關系等等設計參數,以便于具體應用實現者能集中精力于應用本身的特定細節。框架主要記錄軟件應用中共同的設計決策,框架強調設計復用,因此框架設計中必然要使用設計模式.

  另外,設計模式有助于對框架結構的理解,成熟的框架通常使用了多種設計模式,假如你熟悉這些設計模式,毫無疑問,你將迅速把握框架的結構,我們一般開發者假如忽然接觸EJB J2EE等框架,會覺得非凡難學,難把握,那么轉而先把握設計模式,無疑是給了你剖析EJB或J2EE系統的一把利器。

EJB中的設計模式

   下面我們從設計模式的角度看看EJB的框架是怎樣的?在這之前假設你已經大概了解了設計模式。專門的設計模式闡述請見我的設計模式之系列.

  EJB是采取多層結構,原先我們數據庫開發基本是應用程序(商業邏輯運算)直接調用數據庫驅動,在EJB中,為將商業邏輯計算和數據庫截然分開,使用多個結構式模式:Adapter模式和Bridge模式等.這樣做的好處顯然有三個:

  1.分離了商業邏輯層和數據訪問層;
   2.能同時支持多個數據庫;
   3.但數據庫類型更換時,不會設計到商業邏輯代碼的大量修改.

  EJB中將對數據庫進行調用(如發出select等語句)稱為會話bean(sessionbean),而將對應數據庫一個個記錄的bean稱為實體bean(Entity bean);由這兩種類型的bean完成對數據庫的訪問.

  會話bean一般和客戶端應用是一一對應,而和數據庫端聯系緊密的是實體bean,EJB在實體bean(或直接在會話bean)和數據庫之間使用了Adapter模式和Bridge模式,無意在實體bean和數據庫之間又多了一層,稱之為DAO(Data access Object ),DAO實際就是設計模式的混合體.

  我們以Java的寵物店中的Catalog為例,這是專門處理寵物店中的寵物類別,在對數據庫訪問中,有兩個主要程序:CatalogEJB和CatalogDAO,我們從具體代碼中看看設計模式是怎么應用的.

  Bridge模式和Adapter模式
   我們首先看看CatalogEJB代碼:

public class CatalogEJB implements SessionBean {
   protected CatalogDAO dao;

  //從DAO工廠中獲取一個DAO 這是調用工廠(factory)模式的一個實例
   public void ejbCreate() {
     try {
       dao = CatalogDAOFactory.getDAO();
     }
     catch (CatalogDAOSysException se) {
       Debug.println("Exception getting dao " + se);
       throw new EJBException(se.getMessage());
     }
   }

  ....

 }

  我們發現在CatalogEJB中并沒有通常的會話bean那樣有對數據庫操作的"select .. from ."等之類SQL操作語句,這些都被封裝到DAO的具體實現中(Concrete class).

  在Catalog這個示例中使用了設計模式的Bridge模式,判定是否是某種模式,主要依據其參與者的種類和相互關系,我們先看看Bridge模式的定義和參與者:(未完待續)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 亚洲第五色综合网 | 亚洲精品一区二区三区在线看 | 国产精品爱久久久久久久 | 在线播放免费视频 | 激情av在线 | 欧美精品日日鲁夜夜添 | 色综合久久久久久久久久久 | 国产一国产一级毛片视频 | 欧美一级小视频 | 老司机免费福利午夜入口ae58 | 看全色黄大色黄大片女图片 | 色淫影院 | 国产成视频在线观看 | 欧美精品一区自拍a毛片在线视频 | 色综合久久久久久久久久久 | 视频毛片 | 国产激情精品一区二区三区 | 91九色视频在线播放 | 久久综合伊人 | 欧美一区二区三区中文字幕 | av电影免费观看 | 免费国产一区 | 水卜樱一区二区av | 欧美大胆xxxx肉体摄影 | 天天艹综合 | 精品久久久久久久久久久久包黑料 | av电影观看 | 久久久久国产成人精品亚洲午夜 | 国产午夜免费不卡精品理论片 | 亚洲精品欧美在线 | 国内精品一级毛片免费看 | 欧美天堂一区 | 日韩精品99久久久久久 | 九色91视频 | 久久精品国产久精国产 | 国产91porn | 久久艹综合 | 国产一级免费在线视频 | 免费网址黄| 久久网站热最新地址 | 国产青草视频在线观看 |