Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
类图:我可以分享一篇作文吗? 我们假设使用MVC模式来制作C++中的简单游戏,并有一个生命对象,其生命周期由控制器类管理。这显然像是一个组合,但如果游戏逻辑类也需要对同一个世界的永久引用,或者这个世界的环境(世界拥有者)需要对它的引用,那么这些只是常规关联还是我应该进行所有共享聚合呢_C++_Uml - Fatal编程技术网

类图:我可以分享一篇作文吗? 我们假设使用MVC模式来制作C++中的简单游戏,并有一个生命对象,其生命周期由控制器类管理。这显然像是一个组合,但如果游戏逻辑类也需要对同一个世界的永久引用,或者这个世界的环境(世界拥有者)需要对它的引用,那么这些只是常规关联还是我应该进行所有共享聚合呢

类图:我可以分享一篇作文吗? 我们假设使用MVC模式来制作C++中的简单游戏,并有一个生命对象,其生命周期由控制器类管理。这显然像是一个组合,但如果游戏逻辑类也需要对同一个世界的永久引用,或者这个世界的环境(世界拥有者)需要对它的引用,那么这些只是常规关联还是我应该进行所有共享聚合呢,c++,uml,C++,Uml,让我困惑的是,作文被定义为“非共享”。但这是否意味着不与任何其他关系共享,或者只与其他聚合和组合共享。此外,共享聚合通常如何在C++中实现?我的意思是,必须有人来管理这一生。现在我们可以使用shared_ptr,但是没有它们,所有的东西都是在main中创建的,并从那里传递(和销毁)的吗?这让我想知道;在类图中对控制器建模是错误的吗?应该只对模型部分进行建模吗 作为我主要问题的另一个例子(是否允许在uml类图中与任何其他类型的关系共享复合),例如,汽车上的车轮是否可以与其他对象共享?如果发动机需要

让我困惑的是,作文被定义为“非共享”。但这是否意味着不与任何其他关系共享,或者只与其他聚合和组合共享。此外,共享聚合通常如何在C++中实现?我的意思是,必须有人来管理这一生。现在我们可以使用shared_ptr,但是没有它们,所有的东西都是在main中创建的,并从那里传递(和销毁)的吗?这让我想知道;在类图中对控制器建模是错误的吗?应该只对模型部分进行建模吗


作为我主要问题的另一个例子(是否允许在uml类图中与任何其他类型的关系共享复合),例如,汽车上的车轮是否可以与其他对象共享?如果发动机需要永久参考,应如何建模?一个简单的关联?

把你的车作为问题的一部分,如果你的意思是在同一张照片中同时使用白色和黑色钻石是否合法,就像这张照片一样

…那么我认为它是完全有效和可行的

据我所知,黑钻石仅代表的“所有权”,表示谁负责释放内存并将调用链接到析构函数,并使其他弱指针(来自带白钻石的行和不带钻石的行)无效

另一张两颗钻石同时共存的照片可以在Kirill Fakhroutdinov的网站上找到

编辑:在@gwag评论之后 (请参见
类)


。。(请参见
访问
课程)

将您的汽车作为问题的一部分,如果您的意思是在同一张图片中同时使用白色和黑色钻石是否合法,如下图所示

…那么我认为它是完全有效和可行的

据我所知,黑钻石仅代表的“所有权”,表示谁负责释放内存并将调用链接到析构函数,并使其他弱指针(来自带白钻石的行和不带钻石的行)无效

另一张两颗钻石同时共存的照片可以在Kirill Fakhroutdinov的网站上找到

编辑:在@gwag评论之后 (请参见
类)

。。(参见
访问
类)

您的主要问题(“是否允许在uml类图中与任何其他类型的关系共享组合”)没有得到很好的表达。您可能指的是组件,而不是复合材料。事实上,车轮作为汽车的一部分/部件,不能与其他汽车(同时)共享,而员工作为公司或团队的一部分,可以与其他几个公司或团队共享

但这种不可共享性只涉及构成关系中涉及的两个类别(汽车和车轮、公司和员工)。而且它不限制组件对象参与实例化其他关联的其他关系。

您的主要问题(“是否允许在uml类图中与任何其他类型的关系共享组合”)没有得到很好的表达。您可能指的是组件,而不是复合材料。事实上,车轮作为汽车的一部分/部件,不能与其他汽车(同时)共享,而员工作为公司或团队的一部分,可以与其他几个公司或团队共享


但这种不可共享性只涉及构成关系中涉及的两个类别(汽车和车轮、公司和员工)。而且它不限制组件对象参与实例化其他关联的其他关系。

是的,这是可能的,最好的例子之一是池(结构,而不是有水的池…)。在池中,池管理器与所有元素具有组合关系。池管理器根据需要管理元素对“用户”的分配。用户现在正在共享这些agregate元素

需要注意的是,池管理器是池元素的所有者,因此负责池元素的创建和销毁(按要求将池保持在规定的限制内),并且需要跟踪池元素的分配。池元素也只能有一个所有者。池的用户在此场景中只能借用并返回元素


在您的场景中,我怀疑您可以使用聚合或只是简单的关联,请记住对象的所有者(具有合成的对象)可以破坏它…

是的,这是可能的,最好的示例之一是池(结构,而不是有水的对象…)。在池中,池管理器与所有元素具有组合关系。池管理器根据需要管理元素对“用户”的分配。用户现在正在共享这些agregate元素

需要注意的是,池管理器是池元素的所有者,因此负责池元素的创建和销毁(按要求将池保持在规定的限制内),并且需要跟踪池元素的分配。池元素也只能有一个所有者。池的用户在此场景中只能借用并返回元素

在您的场景中,我怀疑您可以使用聚合或只是一个简单的关联,请记住对象的所有者(具有comp