当使用新的运算符创建对象被认为是有害的时,应该使用工厂模式。用什么术语认为新运营商有害

最佳答案

new不被认为是有害的。

如果要创建类的新实例,则需要在某处使用new。是否在工厂中包装new的使用是设计/体系结构问题。

您可能指的是到处都是“更新”(使用new SomeClass(..)创建实例)实例,通常被认为是不良设计/不良做法。这样做的原因是,由于所有类都紧密耦合,因此将来很难更改实现。一个很常见的参数/示例是测试。如果直接在代码中创建新实例,则很难单独测试该代码和/或使用某些类的模拟。

我建议您阅读使用Dependency Injection支持(和反对)的参数。

有时,您不能依赖注入到类中的单个实例。有时您需要能够根据需要创建一个(或多个)新实例。在这些情况下,如果要避免直接使用new,则应考虑使用各种工厂模式作为提取创建新实例的责任的一种方法。

是否遵循这种做法完全取决于您和/或您的团队。

关于java - 用什么术语认为新操作者有害?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40061070/

10-10 09:21