Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 安卓:安卓捆绑包应该用作dto吗_Java_Android_Design Patterns_Android Bundle - Fatal编程技术网

Java 安卓:安卓捆绑包应该用作dto吗

Java 安卓:安卓捆绑包应该用作dto吗,java,android,design-patterns,android-bundle,Java,Android,Design Patterns,Android Bundle,通常使用POJO或DTO对来自api或数据源的数据进行建模。对于这些模型,您必须更正序列化/反序列化逻辑,或者使用类似gson的库来执行相同的操作。 我想知道我们是否可以在android中使用捆绑包作为dto,因为它已经被用于在片段和活动之间传递数据。Bundle本质上是散列映射的包装器,因此我们可以在其中放置/获取任何数据 在android应用程序中使用捆绑包作为DTO是一种好的做法吗?这种方法的优点/缺点是什么?在android应用程序中使用捆绑包作为DTO是一种好的做法吗? 不,不是捆绑是

通常使用POJO或DTO对来自api或数据源的数据进行建模。对于这些模型,您必须更正序列化/反序列化逻辑,或者使用类似gson的库来执行相同的操作。
我想知道我们是否可以在android中使用捆绑包作为dto,因为它已经被用于在片段和活动之间传递数据。Bundle本质上是散列映射的包装器,因此我们可以在其中放置/获取任何数据


在android应用程序中使用捆绑包作为DTO是一种好的做法吗?这种方法的优点/缺点是什么?

在android应用程序中使用捆绑包作为DTO是一种好的做法吗?

不,不是<代码>捆绑是一个
最终类
,因此您可能无法扩展自己的分类法,以适应问题领域的重用代码

这种方法的优点/缺点是什么?

  • 优点:

    • 一个内置的android对象,它实现了
      Parcelable
      ,而不是常规的
      Serializable
      (更快的序列化)
  • 缺点:

    • 这是最后一节课

    • 您无法控制或决定它将如何处理其中的任何数据

    • 数据类型限制

    • 抽象性差

    • 不可扩展

    • 仅用于活动或服务之间的通信。因此,如果需要,您可能无法控制其生命周期,也无法管理其引用


Bundle本质上是
HashMap
。此外,您不希望将大数据放入
捆绑包中,因为如果您将此类
捆绑包作为
意图
数据使用,则会显著降低打开
活动的速度


HashMap
本身就是一种低级数据抽象。您可能希望围绕
HashMap
构建DTO,但这是一个实现细节。

谢谢,这是非常有用的。我目前在这种方法中遇到的一个问题是,我永远不知道对象中存在什么数据,因此调试非常困难