1

我目前正在编写 Java 应用程序的业务逻辑。我把它分成领域层和服务层。服务层提供允许通过数据传输对象访问数据的接口。

我的想法是制作“类型安全”的 ID。这可以简单地描述为该方法getId()不返回 long 而是返回一个特殊类的对象,该对象由 ID 值和一个 Class-field 组成,以确定引用哪个对象的类型。这样做的动机是,我使用了错误类型的 ID,这导致了难以检测的错误。

ID-Class 看起来像这样:

public class ObjectId<T>
{
    private Class<T> type;
    prviate long id;
    ...
}

然后在 DTO 中使用该类:

public class SomeDTO
{
    public ObjectId<SomeDTO> getId(){...}
    ...
}

并且在服务中:

public interface TheService
{
    public SomeDTO getSome(ObjectId<SomeDTO> id);
    ...
}

我可能完全错了,但除了一些缺点,比如更复杂的模型之外,它还提供了从一开始就防止此类错误的可能性。

这是一个好主意还是一个疯狂的主意?

4

0 回答 0