在J2EE模式會話外觀 - 即「核心J2EE模式 - 最佳實踐和設計策略」一書中說:會話外觀在客戶機 - 服務器應用程序
使用會話facade來封裝業務層組件並將粗粒度服務公開給遠程客戶端。客戶端訪問會話外觀而不是直接訪問業務組件。
我想知道它對遠程客戶端意味着什麼嗎?因爲我創建了一個客戶端服務器應用程序,其中客戶端是一個Android應用程序,服務器是一個Java服務器。 是會話外觀我需要暴露給客戶端(Android應用程序)他們之間的溝通所必需的API兩個?
謝謝。
在J2EE模式會話外觀 - 即「核心J2EE模式 - 最佳實踐和設計策略」一書中說:會話外觀在客戶機 - 服務器應用程序
使用會話facade來封裝業務層組件並將粗粒度服務公開給遠程客戶端。客戶端訪問會話外觀而不是直接訪問業務組件。
我想知道它對遠程客戶端意味着什麼嗎?因爲我創建了一個客戶端服務器應用程序,其中客戶端是一個Android應用程序,服務器是一個Java服務器。 是會話外觀我需要暴露給客戶端(Android應用程序)他們之間的溝通所必需的API兩個?
謝謝。
遠程客戶端可以是任何東西 - Web瀏覽器,Android應用程序或其他Web服務或應用程序。
現在,當你提供一個門面。它會向您公開您的Android應用程序(遠程客戶端)將用於訪問服務器端的界面。通過這種方式,您的android應用程序不必擔心業務邏輯和數據處理的實現細節。
您訪問和處理數據的邏輯可能隨時間而改變,但只要您的Facade界面相同,您的客戶端就不用擔心任何事情,這是Facade的優勢。此外,如果明天如果您想在Windows或iPhone中開發應用程序,則可以使用相同的Facade界面訪問您的系統,而無需編寫一行新代碼。
感謝您的回答。現在我想知道(我在這裏問過http://stackoverflow.com/questions/12131883/how-to-implement-session-facade-or-others-patterns-without-ejb/12131908#12131908)如果我可以在不使用ejb的情況下實現會話外觀。 再次感謝! ;) – LS05
要實現Facade模式,它不是強制使用EJB。這就是這種模式的美妙之處。你可以使用任何你想要的方法來實現它。但是使用EJB或不使用EJB將取決於您希望如何實現所有業務層。 – Atul
非常感謝@Atul,我專注於特定於EJB的書;) – LS05
Facade應該爲服務器客戶端通信(會話)提供簡化的接口。所以這個服務(外觀)應該聚合所有這種交流的重要方法。
你可以看看設計模型facade閱讀更多。
此問題屬於代碼體系結構論壇,因爲它將成爲討論 – Brad