如果我使用UML图来描述C程序,我可以进行组合和聚合,还是只为面向对象语言保留?
例如,如果我的源代码中有一个结构或缓冲区,仅用于我假设是聚合的特定代码段,因为该特定代码段的生命周期取决于使用该文件的用户,对吗?
我应该使用关联和直接关联吗?
-
是的,您可以使用 UML 来描述任何语言的程序。
-
当一个对象(结构,w/e(的生命周期紧密结合时,另一个对象是组合,而不是聚合
-
你所描述的既不是组合也不是聚合。仅通过特定代码段有效的特定结构/缓冲区的生命周期可以通过序列图更好地表示(获取缓冲区,释放缓冲区调用应显示在图中(
-
您将在 C 中分配组合和聚合.考虑 POD 结构。其中一些引用了其中的其他 POD 结构。如果引用带有内存所有权,则它是组合(例如需要释放的:p ointer(。如果引用不附带内存所有权,则它是聚合(例如:指针,在释放结构时不必释放
(。