2016-05-31 29 views
0

例如,如果將context.getExternalContext().getRequestLocale()傳遞給EJB by參數,而不是從EJB內部使用import和getCurrentInstance會更好嗎?依賴於FacesContext的EJB設計不好嗎?

import javax.faces.context.FacesContext; 
FacesContext.getCurrentInstance() 

(我是新來的網絡發展)

+0

請參閱[爲什麼說「較低」的應用程序層不知道「較高」的應用程序層是個好主意?](http://programmers.stackexchange.com/q/198783/7460) –

+0

@NathanHughes I'我會閱讀(我認爲這是一個好主意)。但它是上層的背景嗎?我關於上下文作爲每個人都知道的側面層的事情。 –

+0

[爲什麼不應該由JSF框架管理實體bean?](http://stackoverflow.com/questions/25431338/why-shouldnt-entity-bean-be-managed-by-jsf-framework) – BalusC

回答

1

如果你認爲你的軟件系統爲三層架構則FacesContext(這是JSF框架的一部分)屬於演示層和EJB到應用程序層。

一般來說,當較低層(應用程序)依賴於較高層(Presentation)時,它是不好的軟件設計。它導致高耦合,低內聚,因此總體上導致軟件質量差。

總結一下,最好是通過參數傳遞值,而不是從EJB訪問FacesContext