EJB 最佳實務:改進遠程對象設計-JSP教程,物件導向/設計

來源:互聯網
上載者:User
在這一新系列文章中,您將學習如何最佳設計和最佳化 Enterprise JavaBeans 組件、如何減少 RMI 通訊和 JNDI 訪問以及最有效地使用公司專屬應用程式程式。在每篇技巧文章中,企業 Java 編程方面的主要權威人士 Brett McLaughlin 將提供最佳實務或設計模式。許多技巧文章將建立在前面的文章之上。建議您按順序閱讀這些技巧文章,因為它們將協助您構建有助於您自己的公司專屬應用程式程式編程的策略和設計方法。在本篇(也是第一篇)技巧文章中,Brett 示範了業務介面模式如何能夠改進遠程對象設計。
如果您開發過許多 EJB 組件,那麼您很清楚遠程對象設計的痛點。分布 EJB 組件的核心是能夠將 bean 的實現(由 Bean 類表示)與其介面(由遠程或本地介面表示)分開。介面是公開給客戶機的,並且通常用在與實際的實作類別不同的 JVM 中。這意味著在代碼這一級它們彼此之間很少有依賴關係;又意味著,介面中可能有一些不在實現中的方法,反之亦然。例如,實作類別的公用程式方法不必放在遠程介面上。
警告:不要將這種模式與實體 bean 一起使用!
業務介面模式僅適用於會話 bean 和訊息驅動的 bean;該模式不適用於實體 bean,它永遠都不應該直接公開給應用程式層。事實上,業務介面模式在 EJB 2.0 實體 bean 中會停止工作,因為這些類被聲明為 abstract,所以不能被選中。
到目前為止,沒有什麼是聽起來不可管理的,但您要認識到有時方法中的不匹配是無意的,這時情況就會有所變化。在部署 bean 時,您會認識到需要一個新方法,此時,很自然地就會發生這種情況。將方法添加到了 bean 實作類別中,但隨後忘記將它添加到遠程介面。現在您已經添加了所必需的功能,但還沒有辦法讓遠端使用者真正訪問它。這時就需引入業務介面(Business Interface)模式。
註:業務介面模式不是避免遠程對象設計中不匹配的方法的唯一方法。請閱讀補充文章“業務介面模式的替代方法”以學習其它解決方案。
業務介面模式
首先,需要編寫一個定義所有業務方法的介面。這非常象遠程介面,但不具備 EJB 語義。清單 1 顯示了 Library 對象的一個簡單的業務介面。
清單 1. Library 業務介面
package com.ibm.library;
import com.ibm.library.exceptions.NoSuchBookException;
import java.util.List;
public interface ILibrary {
public List getBooks();
public List getBooks(String category);
public Book getBook(String isbn)
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.