gpt4 book ai didi

design-patterns - 工厂模式中的参数化工厂 - 是否存在其他方式?

转载 作者:行者123 更新时间:2023-12-04 06:39:48 26 4
gpt4 key购买 nike

关闭。这个问题需要更多 focused .它目前不接受答案。












想改进这个问题?更新问题,使其仅关注一个问题 editing this post .

3年前关闭。




Improve this question




我正在阅读 Go4 设计模式书,目前正在研究工厂方法模式。这本书在 Pg:110 上提到

"Another variation on the factory pattern lets the factory method create multiple kinds of products. The factory method takes a parameter that identifies the kind of object to create"



现在工厂不总是生产多种产品吗?另外,是否总是需要发送参数来决定要创建什么样的产品?我的意思是,如果我们不传递参数,工厂将如何决定创建哪个对象?他们所说的另一个变化是什么意思?我在这里错过任何一点吗?

最佳答案

GOF 可能有点令人困惑,因为您有工厂和工厂方法。永远不确定哪个是哪个。如果没有全文,很难判断您在说什么。

通常只有您创建的工厂类型决定了方法返回的内容,例如如果你有一个比萨工厂,不同的方法会返回不同的比萨。但是工厂决定创建哪些:每种方法的特定类型。这当然在一个方面受到限制,因为除了选择要使用的工厂之外,您对创建的内容没有任何影响,但是在您使用此变体的框架中,这就是整个想法。工厂将选择权从您手中夺走,因此您没有选择的责任。基本上你说'给我你所有的'。例如。给我意大利辣香肠披萨。但工厂可以退回纽约意大利辣香肠比萨饼或超薄意大利辣香肠比萨饼,具体取决于您使用的工厂。

在某些情况下,工厂的运作更像是一种战略。您不想知道它的作用,但您仍然希望能够告诉它您想要接收哪种类型。该类型应该具有工厂可以使用的接口(interface),或者工厂本身应该非常简单以至于不需要接口(interface)。在这里你说'给我一个这种类型的实例,做你通常对实例做的任何事情'。例如。我想要这个披萨,加额外的奶酪。

希望这可以帮助。

关于design-patterns - 工厂模式中的参数化工厂 - 是否存在其他方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4399190/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com