0

我创建了一些基类来概括功能。这些类由具体的 CDI bean 继承,例如:

@Named
@WhateverCdiScoped
public class PseudoEntityManager extends AbstractManager<PseudoEntity> implements Serializable
{
    ...
}

Serializable将接口放在抽象基类上是一个好习惯吗,here AbstractManager<T>,这样实现者就不必将接口implements Serializable放在每个具体的子类上(如上所示)?

“基类政策”和“具体子类政策”的优缺点是什么?

是否有任何其他后果被忽略,例如关于 的位置private static final long serialVersionUID = ...;

4

1 回答 1

0

如果你这样做,每个类都应该有自己的serialVersionUID(因为它是私有的,它只属于那个类)。

剩下的问题实际上是一个编码标准问题。我个人的看法是,可序列化接口以及大多数其他标记接口就像任何其他接口一样。它们可以很好地处理多态性,您不需要重新声明接口的使用。了解您所做的只是使它们可序列化。这样做不会强制执行任何 CDI 范围。

于 2013-07-16T13:45:53.967 回答