Oop 业务逻辑层处理其邻居的适当方式?

Oop 业务逻辑层处理其邻居的适当方式?,oop,jsf,business-logic-layer,ooad,Oop,Jsf,Business Logic Layer,Ooad,早上好,我在我的项目中有一个用例,它说如果用户没有登录到应用程序,会向他显示一条警告消息,而决定用户是否登录的是一个名为loginPageCode的托管bean,业务逻辑层中的一个类将负责确定用户是否登录,以便做出显示消息的决定(在名为home.JSF的JSF页面中发生特定操作时将采取该操作),我想到了两种方法来实现这一点,如下所示: 让主页确定用户是否登录,并将最终决定传递给业务逻辑类 让业务逻辑类负责确定用户是否登录,这将需要它直接处理loginPageCode 我想从设计的角度知道这样做的

早上好,我在我的项目中有一个用例,它说如果用户没有登录到应用程序,
会向他显示一条警告消息
,而决定用户是否登录的是一个名为
loginPageCode
的托管bean,业务逻辑层中的一个类将负责确定用户是否登录,以便做出显示消息的决定(在名为
home.JSF
的JSF页面中发生特定操作时将采取该操作),我想到了两种方法来实现这一点,如下所示:

  • 让主页确定用户是否登录,并将最终决定传递给业务逻辑类
  • 让业务逻辑类负责确定用户是否登录,这将需要它直接处理
    loginPageCode

  • 我想从设计的角度知道这样做的合适方式。

    如果业务逻辑层需要知道用户是否登录,您应该将该信息作为参数传递

    业务层不需要知道用户是如何进行身份验证的,如果需要知道用户是否已登录,则应向其提供该信息——这是您的关注点分离!)


    主要思想是,即使在完全不同的环境中,也可以重用相同的业务规则,例如,使用不同的身份验证机制。

    也许您应该考虑使用一些类似于此的组件。这可以为您提供一个健壮的解决方案。