gpt4 book ai didi

design-patterns - 类设计 : Passing values via Property(Set var) vs Function vs Constructor argument

转载 作者:行者123 更新时间:2023-12-04 07:17:17 24 4
gpt4 key购买 nike

这是一个开放式问题。在这两者之间做决定时,我总是摸不着头脑。我可以通过以下方式将值传递给类:

将参数传递给类函数:

MyClass m = new MyClass();
m.DoSomething(arg);

创建对象时传递参数:

MyClass m = new MyClass(arg);
m.DoSomething();

使用不同的函数/属性设置值

MyClass m = new MyClass();
m.SetArg(arg);
m.DoSomething();

我知道这取决于对象需要保留参数的天气,但我再次认为这里有一条细线?如果你传递的变量太多,它就会变成一个常规的函数调用。

最佳答案

我使用的一些经验法则:

如果参数对类的操作至关重要,则应通过构造函数传入。

如果仅对该函数至关重要,则通过该函数传入。

如果它只是类数据,请使用 setter/properties 来填充它。

如果有很多这样的参数,请将参数重构为它们自己的容器类(例如,MyClassSettings)。

关于design-patterns - 类设计 : Passing values via Property(Set var) vs Function vs Constructor argument,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3201526/

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