c# - 在哪些情况下使用工厂类而不是静态函数是有意义的?

标签 c# java design-patterns factory-pattern

目前我已经创建了一个 ABCFactory 类,它有一个创建 ABC 对象的方法。现在我想到了,也许我可以不用工厂,而是在我的 ABC 方法中创建一个静态方法。进行此更改的利弊是什么?不会导致同样的结果吗?我没有预见到其他类会继承 ABC,但谁也不知道!

谢谢

最佳答案

拥有一个单一的静态方法会使测试变得更加困难,而拥有一个可实例化的对象则可以使它更容易测试。此外,依赖注入(inject)后来更多地成为非静态解决方案的一个选项。

当然,如果您不需要这些,那么这些都不是好的论据。

关于c# - 在哪些情况下使用工厂类而不是静态函数是有意义的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2563664/

相关文章:

运行 java -jar 时出现 java.lang.ClassNotFoundException

c# - 从将其结果传递给 Action<T> 参数的方法返回 Task<T>

c# - 无法从弹性客户端搜索响应中获取_source字典键值

java - Winium - 如果工具栏没有子项,如何访问工具栏项目

java - 打印循环列表

ruby-on-rails - 测试 Rails 时管理模型关联的复杂性

design-patterns - EAA P 中的域模型和服务层模式

javascript - 处理 mongoose 查询,但使用不同的 JavaScript Promise 实现

c# - 如何处理对同一个套接字的读取和写入

c# - wcf方法参数中的反序列化json为空