Android-Activity 和 Android-Fragment 之间的关系是什么; Activity/Fragment 和 UML class 图中的 ViewModel?
What is the relationships between Android-Activity and Android-Fragment; Activity/Fragment and ViewModel in UML class diagram?
让我们简要解释一下这些术语。
- Android-Activity是独立的,可以呈现视图本身。
- Android-Fragment 不能独立 运行 并且需要一个 Android-activity 作为它的宿主,这意味着当 Android- activity is/was 销毁,然后 Android-片段也将被销毁。 Android-片段没有严格指定哪个 Android-activity 应该或可以承载它,只要它是 Android-activity 那么你'再好。
- Android-activity 和 Android-fragment 都可以有 ViewModel。
- ViewModel 始终依赖于 Android-activity 或 Android-片段生命周期,这意味着当 Android-activity/ Android-fragment is/was 销毁然后 ViewModel 也将被销毁(配置更改除外)。
让我们看看 UML class 图中定义的一些关系。
- 组合(不确定,因为 Android-activity 不依赖于 Android-片段)
- 聚合(不确定,因为如果 Android-activity 与 ViewModel 一样被破坏,Android-片段将被破坏,聚合鼓励双方都可以生存有自己的)
- 关联(可能是或否?)
- 依赖性(可能是或不是?)
泛化(绝对没有)
变现(肯定没有)
现在,要在 UML Class 图上对它们进行建模,有一些问题:
- Android-activity 和 Android-片段有什么关系?
- Android-activity/Android-fragment 和 ViewModel 之间有什么关系?
在这两种情况下,适当的关系是一个组合,因为当父级被销毁时,子级也被销毁。
多重性1
意味着每个片段都需要一个Activity。
多重性0..*
意味着多个Fragment可以是同一个Activity的一部分,但是一个Activity不一定有任何Fragment。
ViewModel 的关系如下:
更新:在您的问题中,您添加了配置更改的例外。在那种情况下,与 ViewModel 的关系不是组合。但是如果你不想让这个异常影响你的模型,你可以在图表中添加一个注释来解释这个异常。
让我们简要解释一下这些术语。
- Android-Activity是独立的,可以呈现视图本身。
- Android-Fragment 不能独立 运行 并且需要一个 Android-activity 作为它的宿主,这意味着当 Android- activity is/was 销毁,然后 Android-片段也将被销毁。 Android-片段没有严格指定哪个 Android-activity 应该或可以承载它,只要它是 Android-activity 那么你'再好。
- Android-activity 和 Android-fragment 都可以有 ViewModel。
- ViewModel 始终依赖于 Android-activity 或 Android-片段生命周期,这意味着当 Android-activity/ Android-fragment is/was 销毁然后 ViewModel 也将被销毁(配置更改除外)。
让我们看看 UML class 图中定义的一些关系。
- 组合(不确定,因为 Android-activity 不依赖于 Android-片段)
- 聚合(不确定,因为如果 Android-activity 与 ViewModel 一样被破坏,Android-片段将被破坏,聚合鼓励双方都可以生存有自己的)
- 关联(可能是或否?)
- 依赖性(可能是或不是?)
泛化(绝对没有)变现(肯定没有)
现在,要在 UML Class 图上对它们进行建模,有一些问题:
- Android-activity 和 Android-片段有什么关系?
- Android-activity/Android-fragment 和 ViewModel 之间有什么关系?
在这两种情况下,适当的关系是一个组合,因为当父级被销毁时,子级也被销毁。
多重性1
意味着每个片段都需要一个Activity。
多重性0..*
意味着多个Fragment可以是同一个Activity的一部分,但是一个Activity不一定有任何Fragment。
ViewModel 的关系如下:
更新:在您的问题中,您添加了配置更改的例外。在那种情况下,与 ViewModel 的关系不是组合。但是如果你不想让这个异常影响你的模型,你可以在图表中添加一个注释来解释这个异常。