Android : android bundle 是否应该用作 dto
Android : Should android bundle be used as a dto
使用 POJO 或 DTO 对来自 api 或数据源的数据建模是一种常见的做法。对于这些模型,您必须调整 serialization/de-serialization 逻辑或使用像 gson 这样的库来执行相同的操作。
我想知道我们是否可以在 android 中将 Bundle 用作 dto,因为它已经被用于在片段和活动之间传递数据。 Bundle 本质上是哈希映射的包装器,因此我们可以 put/get 其中的任何数据。
在您的 android 应用程序中使用 Bundle 作为 DTO 是一种好习惯吗?这种方法的advantages/disadvantages是什么?
Is it a good practice to use Bundles as the DTO in your android app?
不,不是。 Bundle
是一个 final class
,因此您可能无法扩展自己的分类法以针对您的问题域调整重用代码。
What are the advantages/disadvantages of this approach?
优点:
- 一个内置的 android 对象,它实现了
Parcelable
而不是常规的 Serializable
(更快的序列化)。
缺点:
这是一个final class
。
您无法控制或决定如何处理其中的任何数据。
数据类型限制。
抽象性差。
不可扩展。
仅用于活动或服务之间的通信。因此,如果您需要的话,您可能无法控制它的生命周期,也无法管理它的引用。
Bundle
本质上是 HashMap
。此外,您不希望将大数据放在 Bundle
中,因为如果您将 Bundle
用作 Intent
数据,它会显着减慢打开 Activities
的速度。
HashMap
本身就是一种低级数据抽象。您可能希望围绕 HashMap
构建 DTO,但这是一个实现细节。
使用 POJO 或 DTO 对来自 api 或数据源的数据建模是一种常见的做法。对于这些模型,您必须调整 serialization/de-serialization 逻辑或使用像 gson 这样的库来执行相同的操作。
我想知道我们是否可以在 android 中将 Bundle 用作 dto,因为它已经被用于在片段和活动之间传递数据。 Bundle 本质上是哈希映射的包装器,因此我们可以 put/get 其中的任何数据。
在您的 android 应用程序中使用 Bundle 作为 DTO 是一种好习惯吗?这种方法的advantages/disadvantages是什么?
Is it a good practice to use Bundles as the DTO in your android app?
不,不是。 Bundle
是一个 final class
,因此您可能无法扩展自己的分类法以针对您的问题域调整重用代码。
What are the advantages/disadvantages of this approach?
优点:
- 一个内置的 android 对象,它实现了
Parcelable
而不是常规的Serializable
(更快的序列化)。
- 一个内置的 android 对象,它实现了
缺点:
这是一个
final class
。您无法控制或决定如何处理其中的任何数据。
数据类型限制。
抽象性差。
不可扩展。
仅用于活动或服务之间的通信。因此,如果您需要的话,您可能无法控制它的生命周期,也无法管理它的引用。
Bundle
本质上是 HashMap
。此外,您不希望将大数据放在 Bundle
中,因为如果您将 Bundle
用作 Intent
数据,它会显着减慢打开 Activities
的速度。
HashMap
本身就是一种低级数据抽象。您可能希望围绕 HashMap
构建 DTO,但这是一个实现细节。