理解 MVC 的 UML

Understanding UML for MVC

http://www.tutorialspoint.com/design_pattern/mvc_pattern.htm 我不明白,为什么控制器和 View/Model 之间的箭头是关联而不是聚合。

Controllerclass使用Demo创建的Model和View,所以它保留了对象的引用,所以它是一个聚合?

在UML中,如果A是B的聚合意味着A由B组成,如果A不存在,B也不存在。

在 MVC 中,控制器不是由视图组成的,视图的生命周期也不一定由控制器控制 - 通常它们都包含在框架中。

当然,您可以使用 MVC 模式并使控制器成为视图的所有者(或相反),但这对模式来说不是必需的。

虽然许多语言 运行 在垃圾收集环境中,因此生命周期方面与它们并不真正相关,但您仍然可以使用 association/composition/aggregation 层次结构来显示预期的关系以及各部分是否具有整体之外的意义。