例如,通过参数将 context.getExternalContext().getRequestLocale()
传递给 EJB,而不是从 EJB 内部使用导入和 getCurrentInstance,会更好吗?
import javax.faces.context.FacesContext;
FacesContext.getCurrentInstance()
(我是网络开发新手)
最佳答案
如果您将软件系统视为三层架构,那么FacesContext
(属于 JSF 框架的一部分)属于表示层,EJB
属于表示层。应用层。
一般来说,当较低层(应用程序)依赖于较高层(表示)时,这是糟糕的软件设计。它导致高耦合、低内聚,因此总体上软件质量很差。
总而言之,最好通过参数传递值,而不是从 EJB
访问 FacesContext
。
关于jsf - EJB 依赖 FacesContext 是一个糟糕的设计吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37554150/