我有 6 个类,如下图所示。我希望所有这些都只实例化一次,同时我想避免单例。 Info
类对象将首先在从文件读取系统信息的应用程序中创建。在此之后,需要根据信息创建对象 A
、B
和 C
。之后需要创建 Server1
和 Server2
对象。 Server1
对象想要访问A
对象,Server2
想要访问A
、B
、C
和 Server1
对象。
如何在不使用单例的情况下解决这个问题?
谢谢!
苏巴拉奥
最佳答案
如果你希望一个对象只被创建一次,那么你需要计算它被创建的次数,否则你或其他程序员总是有可能不小心创建另一个实例。通常这是在局部静态变量的帮助下完成的,这基本上是单例。
困难的部分是如何在整个程序中安排对对象的访问。这可能是全局变量、静态方法或依赖注入(inject),具体取决于您的体系结构。 您可以在某个类中创建所有对象,然后使用 getter 访问它们。
底线是,如果您想保证对象只能创建一次,那么您正在寻找某种单例实现。
关于c++ - 如何避免单例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49643008/