目前我已经创建了一个 ABCFactory 类,它有一个创建 ABC 对象的方法。现在我想到了,也许我可以不用工厂,而是在我的 ABC 方法中创建一个静态方法。进行此更改的利弊是什么?不会导致同样的结果吗?我没有预见到其他类会继承 ABC,但谁也不知道!
谢谢
最佳答案
拥有一个单一的静态方法会使测试变得更加困难,而拥有一个可实例化的对象则可以使它更容易测试。此外,依赖注入(inject)后来更多地成为非静态解决方案的一个选项。
当然,如果您不需要这些,那么这些都不是好的论据。
关于c# - 在哪些情况下使用工厂类而不是静态函数是有意义的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2563664/