gpt4 book ai didi

c++ - 工厂的工厂?

转载 作者:行者123 更新时间:2023-11-30 02:35:07 25 4
gpt4 key购买 nike

我有实现 MyFactory 接口(interface)的具体工厂类。我想根据参数获取具体的工厂对象。如何做到这一点?

一种方法是创建工厂的工厂[FoF],而 FoF 将是参数化工厂。

有没有更优雅的方法来做到这一点?

这纯粹是智力练习,我的项目没有遇到任何问题。

最佳答案

如果你能把两层工厂合并起来,那当然是更好的解决方案。如果它们具有相同的生命周期,这将是可能的。

如果他们不这样做,那么创建工厂的工厂就可以了。模式本身没有问题,模式可以嵌套。您甚至可以创建一个工厂的工厂(请不要),它会起作用。

但是,您应该为工厂的工厂找到一个合适的名称,这样意图就清楚了。工厂的工厂对我来说听起来不是一个好名字。选择一个能够传达问题域内行为的名称比纯粹面向模式的名称要好。


编辑:有人建议您查看问题评论中的抽象工厂模式。虽然它确实是一个有用的模式,并且是一个优秀的软件工程师应该了解的模式,但抽象工厂不是工厂的工厂:该模式抽象了一组相关的工厂,但不是关于创建他们。尽管如此,了解它还是有帮助的。

关于c++ - 工厂的工厂?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33957810/

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