【发布时间】:2020-07-16 05:03:01
【问题描述】:
让我们简要地看一下这些术语的简要说明。
- Android-Activity 是独立的,它可以自己呈现视图。
- Android-Fragment 不能独立运行,需要一个 Android-activity 作为其宿主,这意味着当 Android-activity 被销毁/被销毁时,Android-fragment 也会被销毁。 Android-fragment 没有严格指定应该或可以托管哪个 Android-activity,只要它是 Android-activity 就可以了。
- Android-activity 和 Android-fragment 都可以有 ViewModel。
- ViewModel 始终依赖于 Android-activity 或 Android-fragment 生命周期,这意味着当 Android-activity/Android-fragment 被销毁时,ViewModel 也将被销毁(配置更改除外)。李>
让我们看看 UML 类图中定义的一些关系。
- 组成(不确定,因为 Android-activity 不依赖于 Android-fragment)
- 聚合(不确定,因为如果 Android-activity 与 ViewModel 销毁相同,Android-fragment 将被销毁,聚合鼓励双方可以使用自己的)
- 关联(可能是或否?)
- 依赖关系(可能是或否?)
泛化(绝对没有)实现(绝对没有)
现在,要在 UML 类图上对它们进行建模,有一些问题:
- Android-activity 和 Android-fragment 有什么关系?
- Android-activity/Android-fragment 与 ViewModel 有什么关系?
【问题讨论】:
-
“这意味着当活动/片段被破坏时,视图模型也被破坏”,不,如果配置发生变化,如旋转设备活动和片段破坏但视图模型仍然存在
-
你的问题没有任何问题,考虑到我们每天看到的糟糕帖子的数量,这个帖子的定义和研究都很好,所以我删除了你帖子的顶部。我不完全确定这篇文章是否属于堆栈溢出,它可能会被更有知识的人迁移:)
-
我编辑了您的问题以添加前缀“Android-”,以免与 UML-activity 和 UML-(combined)fragment 混淆
-
@CôngHải 你确定吗?在那种情况下,答案也是错误的
-
您的问题隐含地认为 Android-activity 和 Android-fragment 是通过 UML 类建模的,您确定吗?
标签: android android-fragments android-activity uml class-diagram