我不知道从ConcreteCreator到ConcreteProduct的断箭是什么意思。我在网上搜索,我想出了“依赖”。有人可以解释外行人的依赖吗?谢谢!
抓取的图片答案 0 :(得分:3)
正如您所说,虚线表示ConcreteCreator(作为依赖或客户,元素)和ConcreteProduct(作为独立或供应商元素)之间的依赖关系。
在这种特定情况下,该行表示ConcreteCreator负责创建ConcreteProduct的实例。通过将“create”构造型附加到依赖项,可以更清楚地了解这一点。
答案 1 :(得分:2)
虚线/空箭头表示依赖关系,这意味着ConcreteCreator以某种方式“使用”ConcreteProduct。箭头本身不定义该依赖项的性质,只是存在依赖项,而ConcreteProduct实际上不是ConcreteCreator的成员。
提供的注释(即“返回新的ConcreteProduct”)意味着ConcreteCreator将实例化(或创建)ConcreteProduct类型的对象,这对于工厂来说是很自然的。传统上在UML中,您可以通过编写“<< creates>>”来阐明这种关系。在虚线箭头上。 UML将这些注释称为“刻板印象”。
有关详细信息,请参阅Allen Holub's UML Quick Reference。你可以看到他有一个非常类似的例子,其中“用户”创建“资源”。
答案 2 :(得分:1)
我认为这意味着ConcreteCreator必须知道ConcreteProduct是什么来创建它的,所以那里有一个明确的依赖。工厂方法创建一个Product,但该方法的ConcreteCreator覆盖必须返回一个ConcreteProduct。
答案 3 :(得分:0)
这不仅仅是工厂方法 - 这看起来更像是抽象工厂模式。 Creator的特定具体派生类将创建派生Product类的相应实例。