2016-05-31 7 views
0

Wäre es beispielsweise besser, context.getExternalContext().getRequestLocale() per Parameter an den EJB zu übergeben, anstatt einen Import und getCurrentInstance innerhalb des EJB zu verwenden?Ist es ein schlechter Entwurf für ein EJB, um von FacesContext abhängig zu sein?

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

(Ich bin neu in Web-Entwicklung)

+0

siehe [Warum ist es eine gute Idee für "untere" Anwendungsschichten, sich nicht der "höheren" Ebenen bewusst zu sein?] (Http://programmers.stackexchange.com/q/198783/7460) –

+0

@NathanHughes I ' ll lesen (und ich denke, es ist eine gute Idee). Aber ist es der Kontext eine höhere Schicht? Ich denke über den Kontext als eine Seitenschicht, die jeder kennt. –

+0

Mögliches Duplikat von [Warum sollte die Entity-Bean nicht vom JSF-Framework verwaltet werden?] (Http://stackoverflow.com/questions/25431338/why-shouldnt-entity-bean-be-managed-by-jsf-framework) – BalusC

Antwort

1

Wenn Sie Ihre Software-System als einer dreischichtigen Architektur denken dann die FacesContext (welcher Teil des JSF-Framework ist) zur Präsentation gehört Schicht und die EJB auf die Anwendungsschicht.

Im Allgemeinen ist es schlechte Software-Design, wenn eine untere Schicht (Anwendung) abhängig von höheren Schicht (Präsentation). Dies führt zu hoher Kopplung, geringer Kohäsion und damit insgesamt zu schlechter Softwarequalität.

Um es zusammenzufassen, wäre es besser, die Werte per Parameter zu übergeben, anstatt auf die FacesContext von EJB zuzugreifen.