gpt4 book ai didi

design-patterns - 什么时候工厂合适?

转载 作者:行者123 更新时间:2023-12-02 05:54:11 24 4
gpt4 key购买 nike

摘自维基百科:

In object-oriented computer programming, a factory is an object for creating other objects. It is an abstraction of a constructor, and can be used to implement various allocation schemes.

谁能解释一下什么时候需要或有益于工厂类?

我目前正在做一个项目,我有一个类并使用构造函数来初始化一个对象(呃!),但它可能会失败并且根本无法初始化。我有一个 Success 属性来检查它是否正确创建。这是何时应该实现工厂类的一个很好的例子吗?这样 Create() 方法可以返回 null,我可以摆脱 Success 属性。我的想法正确吗?

最佳答案

工厂情况的教科书示例是当您有一个接口(interface)和多个实现时,但您不想公开这些实现。您实现了一个工厂(方法或类),它根据您传递给它的参数生成不同实现的实例;然而,由于它通过接口(interface)类型返回它们,调用者不会负担实现细节。

真实示例:假设您已经为流读取器定义了一个接口(interface),以及从本地文件、网络资源和标准输入中读取的实现。然后编写一个工厂方法,该方法采用单个参数(URI)并返回合适的读取器。调用者不需要了解实现细节。最好的部分是,当您决定要支持另一种输入法时,例如 data: URI,您只需添加另一个实现并将其添加到工厂 - 您不需要更改调用代码中的任何内容。

关于design-patterns - 什么时候工厂合适?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4312314/

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