gpt4 book ai didi

.net - 静态工厂方法与工厂

转载 作者:行者123 更新时间:2023-12-02 07:47:28 25 4
gpt4 key购买 nike

我的类应该具有带有私有(private) setter 的属性(或私有(private)字段和与其关联的只读属性)。如果我在这些类中有静态工厂方法来创建实例就可以了。然而,许多开发人员写道“静态工厂方法是架构黑洞”,因为无法继承静态方法。

C# 没有友好的类,因此我无法使用工厂实现。

您如何看待使用静态工厂方法?

最佳答案

默认情况下,我会通过将所需参数传递给构造函数来创建实例。如果构造函数有很多参数,您要么需要 parameter object或者你违反了SRP .如果您有多种根据参数创建实例的选择,并且逻辑并不复杂,那么静态工厂方法可能是将创建逻辑保留在类中的最佳方式。

如果您有复杂的实例创建规则,这些规则取决于参数和其他因素,您可以使用工厂,也许是流畅的工厂,它收集所有必需的参数并执行所需的逻辑,然后使用类公共(public)构造函数来创建物体。

关于.net - 静态工厂方法与工厂,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5871473/

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