我和一位同事正在进行辩论:
我们有一个单例类,在我们的代码库中的多个位置使用.
最初,该类的设计方式使您可以获取类对象,但该对象不会被完全初始化.
我的意思是:
mySingleton.getInstance().SomeMethod();
Run Code Online (Sandbox Code Playgroud)
SomeMethod会导致错误,因为该类未初始化.为了让课程正常工作,必须要做到:
mySingleton.getInstance().initObject();
mySingleton.getInstance().SomeMethod();
Run Code Online (Sandbox Code Playgroud)
无论如何,我的争论是构造函数(使用第一个get实例调用)应该调用,initObject以便不会抛出任何错误.
你怎么看?
我的同事喜欢它,所以他知道课程何时初始化.(即他调用initObject了一行特定的代码,并希望首先不需要它).