gpt4 book ai didi

java - 新运营商在哪些方面被认为是有害的?

转载 作者:行者123 更新时间:2023-11-29 07:32:29 24 4
gpt4 key购买 nike

当使用 new 运算符创建对象被认为是有害的时,应该使用工厂模式。 new operator 在什么情况下被认为是有害的

最佳答案

new 不被认为是有害的。

如果你想创建一个类的新实例,你需要使用 new somewhere。是否将 new 的使用包装在工厂中是一个设计/架构问题。

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

我建议您阅读支持(和反对)使用 Dependency Injection 的论点.

有时您不能依赖注入(inject)到您的类中的单个实例。有时您需要能够按需创建一个(或多个)新实例。在这些情况下,如果您想避免直接使用 new,那么研究各种工厂模式是有意义的,以此来提取创建新实例的责任。

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

关于java - 新运营商在哪些方面被认为是有害的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40061070/

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