可序列化用于JSF / CDI bean的抽象基类

时间:2013-07-16 12:32:39

标签: java jsf serialization jsf-2 cdi

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

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

问的

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

“基类政策”和“具体子类政策”有哪些利弊?

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

1 个答案:

答案 0 :(得分:0)

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

问题的其余部分实际上是一个编码标准问题。我个人认为,可序列化以及大多数其他标记接口就像任何其他接口一样。他们处理多态性很好,你不需要重新声明接口的使用。明白你正在做的就是让它们可序列化。你没有通过这样做来强制执行任何CDI范围。