gpt4 book ai didi

c++ - 如何避免单例?

转载 作者:行者123 更新时间:2023-11-30 05:02:53 26 4
gpt4 key购买 nike

我有 6 个类,如下图所示。我希望所有这些都只实例化一次,同时我想避免单例。 Info 类对象将首先在从文件读取系统信息的应用程序中创建。在此之后,需要根据信息创建对象 ABC。之后需要创建 Server1Server2 对象。 Server1 对象想要访问A 对象,Server2 想要访问ABCServer1 对象。

Class heirarchy

如何在不使用单例的情况下解决这个问题?

谢谢!
苏巴拉奥

最佳答案

如果你希望一个对象只被创建一次,那么你需要计算它被创建的次数,否则你或其他程序员总是有可能不小心创建另一个实例。通常这是在局部静态变量的帮助下完成的,这基本上是单例。

困难的部分是如何在整个程序中安排对对象的访问。这可能是全局变量、静态方法或依赖注入(inject),具体取决于您的体系结构。 您可以在某个类中创建所有对象,然后使用 getter 访问它们。

底线是,如果您想保证对象只能创建一次,那么您正在寻找某种单例实现。

关于c++ - 如何避免单例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49643008/

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