【问题标题】:DTO implementation of Serializable interfaceSerializable接口的DTO实现
【发布时间】:2012-08-03 17:32:00
【问题描述】:

是否必须为 Java DTO/Model 对象实现 Serialize?如果是,为什么?如果不是,对性能等有什么影响?

【问题讨论】:

    标签: java serializable


    【解决方案1】:

    DTO 通常是一个数据传输对象。它不必使用 Java 序列化,但如果不需要,则需要遵循其他约定。

    这不是性能问题,就像您使用 Java 序列化一样,它很可能必须是可序列化的(或仍可序列化的 Externalizable)

    【讨论】:

    • 您能告诉我们在强制序列化 DTO 时的任何条件吗?
    • @Chetu 名称 DTO 或数据传输对象意味着它将被传输。这需要序列化。我想不出什么是堆上 DTO 但不需要某种形式的序列化的例子。如果 DTO 存储在本机内存中,则可以在不进行进一步翻译的情况下进行传输,尽管您可能会认为它在写入时已被序列化。
    【解决方案2】:

    如果您不将它们保存到文件或通过套接字发送它们,则不会。 DTO 没有什么需要序列化的。是否需要序列化取决于您的计划使用情况。 DTO 通常是从数据库查询返回的结果集中的一行创建的。然后将它们作为 DAO 调用的返回值传回。从那里,它们可以按原样装饰或使用,并以您的应用程序需要的任何方式使用。不需要它们是可序列化的。

    【讨论】:

      【解决方案3】:

      DTO 通常是贫乏的,不包含任何业务逻辑。 DTO 通常是 java.io.Serializable - 只有当您要跨 JVM 传输数据时才需要它。

      【讨论】:

        猜你喜欢
        • 2015-01-27
        • 2013-12-31
        • 1970-01-01
        • 2011-09-26
        • 2011-10-26
        • 1970-01-01
        • 2012-07-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多