在我正在阅读的一本书(应用UML和模式)中,下面是一些事实来决定一个对象是否是另一个B对象的创建者(GRASP Creator Pattern):
我不清楚"聚合","包含","记录"和"密切使用"
有人可以用一些例子解释上述标准吗?
答案 0 :(得分:3)
以下是Larman在书中给出的一些例子:
你遗漏了一个标准,我会给出一个例子:
enterItem(itemID : ItemID, quantity : integer)
系统操作时,ProcessSaleHandler 具有SalesLineItem的初始化数据。答案 1 :(得分:0)
是的,这些术语有些含糊不清。
他们中的大多数都定义了现实世界的关系。 例如,当我们与某人交谈并说“#34;某些内容包含某些内容"”时,我们没有任何问题。
但在这种情况下,有一些具有正式定义的类比会很好。
1)"聚合"。这很简单。该术语对应于"聚合" UML中的关系
2)"包含"。根据作者的书,我们有以下例子:"垄断委员会包含Squares"。事实上,这种关系对应于"组合"。 因此,我们可以得出结论,这种关系对应于"组合" UML中的关系。
3)"记录"。这是最奇怪的" relationshup。但是,让我们再看看他的书。我们可以看到这种关系出现在" Register"类。这是他的注册表的特定工作,并且对一些常见的事情不做任何事但是我们可以概括这一点并得出结论,Register类使用" Association"介于"付款"和"销售"。 因此,我们可以得出结论"记录"对应于"关联"在" UML"。
4)"密切使用"。这也很简单。这个术语对应于"依赖"用UML标记的<<使用>>