创建 "master-class" 是否考虑使用单例或其他方式?

Is creating a "master-class" considered using a singleton or something else?

我想知道包含 "master-class"(应该只有一个实例的 class)的代码是否被认为是实现 "Singleton" 设计模式,或者是否有其他设计遵循这个概念的模式。

我创建了一个 class "GUI" 和一个 class "MasterControl" class "MasterControl" 定义了许多与 GUI 交互的方法,并包含它运行的单个 "GUI" 实例。

演示基本思想的代码。

public static void main(String[] args){
    MasterControl controller = new MasterControl();
}

public class MasterControl{
    private GUI Servant;

    public MasterControl(){
        Servant = new GUI(this);
    }
}

public MasterControl(){
    Servant = new GUI(this);
}

public class GUI{
    GUIComponent c;
    MasterControl master;

    public GUI(MasterControl master){
        this.master = master;
        c = new GUIComponent(master);
    }
}
//And so on

单例设计模式意味着不可能创建多个 class 实例。包含 "master class" 的代码通常是一个 class 代表代码的起点,初始化它一次是正确的格式,但技术上没有什么可以阻止我们创建它的另一个实例。高手的存在class并不一定就是单例设计模式

Singleton 设计模式的 classic 实现涉及一个具有自己的 'getter' 方法的私有构造函数,以及一个静态和未初始化的实例变量,它将代表 Singleton 的单个实例class。这种设计使得构造函数只能通过 getter 方法使用,因此可以编程为仅在首次调用 getter 方法时调用。这将初始化实例变量,然后从这里返回。它看起来像这样:

class Singleton {
    private static Singleton instance;
    private Singleton() {}

    public static Singleton getInstance() {
        if(instance == null) {
            instance = new Singleton();
        return instance;
    }
}