【发布时间】:2018-09-14 00:35:54
【问题描述】:
您好,我有一些代码使用 Manager 的静态对象从 Manager 调用方法:
public class Manager
{
public static Manager sManager = new Manager();
public int x;
public Manager()
{
}
public void Modify()
{
x ++;
}
}
class Program
{
static void Main(string[] args)
{
Console.WriteLine(Manager.sManager.x);
Manager.sManager.Modify();
Console.WriteLine(Manager.sManager.x);
Console.ReadLine();
}
}
这是从外部访问 Manager 方法的好方法吗,或者如果类 Manager 必须拥有方法 Modify,是否有更好的方法。
在这种情况下使用事件是构建它并让 Manager 监听更新的更好方法吗?
或者即使我希望 Modify 方法保留在 Manager 类中,是否有更好的方法来处理这个问题?
【问题讨论】:
-
这让我印象深刻,好像您应该在需要它的外部实例化
Manager的实例,或者将整个类和所有方法/属性设为静态(如果可行,我不知道申请) -
我不明白你想要完成什么。我同意@JamesHughes 的观点,简单地实例化
Manager就足够了。 -
我可能错了,但我看到不少 Java 开发人员这样做。我不明白为什么这会有好处。如果你想这样做,你也可以将类定义为静态的。
-
看起来已经完成了一半Singleton pattern
-
对于真正的单身人士,您将拥有一个
private构造函数。否则,您允许创建多个实例。所以这更像是一个 multiton ;)