从 Android 开发者网页链接: http: //developer.android.com/reference/android/content/Intent.html,你可以发现它说“它(Intent)基本上是一个被动的数据结构,持有一个抽象描述要执行的操作。” 但我不明白什么是“被动数据结构”?谁能帮忙解释一下?谢谢!
5 回答
被动数据结构(与主动数据结构或功能数据结构相反)是由外部线程专门管理的数据结构。也就是说,它没有一些关联的线程对其执行操作。
基本上,它就像一个信息容器;您创建它,设置它的所有信息,它只是为了被其他进程(在 Android 中Activity
,通常是对象)访问而存在。因此,它不是主动访问(因此它不是“主动”),并且它没有被操作(不是“功能性”),所以它应该被认为是被动的。
我认为这个想法是 Intent 不知道如何进行活动,它只包含描述需要做什么的信息。由接收者使用 Intent 的信息实际执行操作。因此,Intent 对于所产生的动作是“被动的”。
Intent 不代表一个动作,它只代表一个动作的意图,所以它只描述一个动作,因此它是一个被动的数据结构。
- 被动数据结构是一种只能由外部线程或进程更改的数据结构
- 活动数据结构是一种数据结构,它执行内部操作以给出另一个数据结构的外部行为
被动数据结构 (PDS) 是一个仅保存数据的对象。该数据由其他消息处理。你可以说它是一个传输对象,它从一个对象传递到另一个对象。有时,在 Java 中,具有 getter/setter(或 mutator)方法的 POJO 对象被视为 PDS 对象,但它们不是。它们打破了封装规则,不考虑 PDS 对象。
即使在 Android 中,Intent 类也只是保存数据但不处理它。
请参阅此链接以获得更清晰的信息: https ://en.wikipedia.org/wiki/Passive_data_structure