1

我正在从EJB 3 in Action一书中了解 EJB 3.0 。在会话 bean 的剖析部分中提到:

客户端调用 bean 的接口称为业务接口。该接口本质上定义了适合通过特定访问机制进行访问的 bean 方法。现在要注意的有趣的事情是单个 EJB 可以有多个接口这一事实。换句话说,EJB 实现类可以是多态的,这意味着使用不同接口的不同客户端可以以完全不同的方式使用它们。

我想了解为什么允许单个 EJB 具有多个接口的设计决策的原因?帮助理解此处概念的示例将非常有帮助。

4

1 回答 1

2

原因很简单。每个接口都应该可由特定类型的客户端访问。例如,假设您正在实现一个银行系统,并为余额访问创建一个 bean。在这种情况下,您可能会使用两个接口。一个用于读取天平,一个用于更改天平

public interface ReadAccountBalance
{
    float getBalance ();
}

public interface WriteAccountBalance
{
    void setBalance (float balance);
}

public class AccountBalanceBean implements ReadAccountBalance, WriteAccountBalance
{
    ...
}

现在,您可以将 ReadAccountBalance 分发给只需要读取帐户余额的客户端包,而 WriteAccountBalance 将只分发给需要实际修改余额的客户端

于 2014-05-31T06:11:18.467 回答