gpt4 book ai didi

c# - 如何确定在方法上创建对象还是在对象上创建对象更好

转载 作者:太空宇宙 更新时间:2023-11-03 19:01:09 25 4
gpt4 key购买 nike

我想知道我应该如何决定在方法或类实例上创建一个对象。
下面几个例子来阐明。我想以最佳方式了解我应该如何决定在示例 1 和示例 2 之间做出选择。

重要:将此视为 IIS 中托管的 Windows 服务 (SVC)。

示例 1

public class mySvcService
{
ReusableClass rClass = new ReusableClass();

public void MethodOne()
{
//Do Method One Stuff...
rClass.doSomething();
}

public void MethodTwo()
{
//Do Method Two Stuff...
rClass.doSomething();
}
}

public class ReusableClass
{
string valueOne;
string valueTwo;
string valueThree;

public void doSomething()
{
//DoSomeWork
}
}

示例 2

public class mySvcService
{
public void MethodOne()
{
ReusableClass rClass = new ReusableClass();
//Do Method One Stuff...
rClass.doSomething();
}

public void MethodTwo()
{
ReusableClass rClass = new ReusableClass();
//Do Method Two Stuff...
rClass.doSomething();
}
}

public class ReusableClass
{
string valueOne;
string valueTwo;
string valueThree;

public void doSomething()
{
//DoSomeWork
}
}

最佳答案

一切都是关于状态。对象是否会在两个方法调用之间,甚至在方法内部保留一些状态?如果是这样,您应该让该对象保持事件状态。否则,您可以在每次调用该方法时创建一个新对象,或者如果从不涉及任何状态,甚至可以将方法设为静态。

所以:

  • 类保留应跨方法保留的状态:创建类变量或沿方法传递对象。
  • 类保留了应该保存在同一个方法中的状态:创建一个局部变量。
  • 类不保留任何状态:将方法设为静态,不需要实例。

关于c# - 如何确定在方法上创建对象还是在对象上创建对象更好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35572828/

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