【问题标题】:Appropriate way for business logic layer to deal with its neighbors?业务逻辑层处理其邻居的适当方式?
【发布时间】:2013-04-28 19:35:44
【问题描述】:

早上好,我的项目中有一个用例,上面写着If the user isn't logged in to the application display a warning message to him,确定用户是否登录的是一个名为loginPageCode 的托管bean,业务逻辑层中的一个类将是负责确定用户是否登录以决定显示消息(当在名为home.jsf 的 JSF 页面中发生特定操作时将采取该操作),我想到了两种方法来做到这一点如下:

  1. 让首页判断用户是否登录,并将最终决定权交给业务逻辑类
  2. 让业务逻辑类负责确定用户是否登录,这将需要它直接处理loginPageCode

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

【问题讨论】:

  • 也许你应该考虑使用一些像SpringSecurity 这样的特殊组件。这可以为您提供强大的解决方案。

标签: oop jsf business-logic-layer ooad


【解决方案1】:

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

业务层不需要知道如何用户被认证,如果它需要知道用户是否登录,它应该被提供信息——这就是你的关注点分离! :)

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

【讨论】:

    猜你喜欢
    • 2012-07-18
    • 2010-12-18
    • 2011-02-07
    • 2012-05-04
    • 2015-04-20
    • 2011-12-03
    • 2011-11-26
    • 2017-04-29
    • 2016-08-12
    相关资源
    最近更新 更多