什么是Android/Java中的“被动数据结构”?

16
根据 Android 开发者网站上的链接(http://developer.android.com/reference/android/content/Intent.html),我们可以看到它说:“Intent 基本上是一个被动的数据结构,用于保存要执行的动作的抽象描述。” 但我不理解什么是“被动的数据结构”?能否有人帮忙解释一下?谢谢!
5个回答

20

被动数据结构(与“主动数据结构”或“功能性数据结构”相反)是完全由外部线程管理的数据结构。也就是说,它没有一些关联的线程来对其执行操作。

基本上它就像是一个信息容器;你创建它、设置所有的信息,然后它存在于其他进程(通常在Android中是Activity对象)中被访问。因此,它没有被主动请求(所以不是“主动的”),也没有被操作(不是“功能性的”),因此应该被视为被动数据结构。


3
我认为这个想法是意图不知道如何实现活动,它只包含描述需要完成的任务所需的信息。由接收方使用意图的信息来实际执行操作。因此,关于所得到的行动,意图是“被动”的。

0
一个被动数据结构(PDS)是一个仅仅持有数据的对象。这些数据会被其他消息处理。你可以说它是一个传输对象,从一个对象传递到另一个对象。有时,在Java中,带有getter/setter(或mutator)方法的POJO对象被认为是PDS对象,但实际上它们不是。它们违反了封装规则,不能被视为PDS对象。
即使在Android中,Intent类也只是持有数据而不进行处理。
请参考以下链接以获得更多清晰的解释: https://en.wikipedia.org/wiki/Passive_data_structure

0

引用NIST算法和数据结构词典

  • 被动数据结构是指只能通过外部线程或进程进行更改的数据结构,如所述
  • 主动数据结构是一种数据结构,它执行内部操作以提供另一个数据结构的外部行为

0

一个 Intent 并不代表一个动作,它只表示对于一个动作的意图,因此它仅描述一个动作,因此是一种被动的数据结构。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接