- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在构建一个将在主机中使用的插件。这个插件使用单例来提供我想在任何地方轻松访问的服务。当我多次实例化同一个插件时,问题就来了,同一个(静态)单例,特定于可运行的,将在所有实例化的插件中分片。一般来说,有没有一种方法可以缩小单例(c++)的范围?由于每个插件本身就是一个实例,我显然可以将插件的根类传递给它的所有子类,但我希望尽可能保持相同的全局单例设计。
最佳答案
有单例的理由吗?基本原理是当您需要强制只有一个,并且需要提供单一访问点时。如果这些不是真正的要求,那么只需创建一个并将其传递到需要的地方。
我会逐渐摆脱单例。
单例做的多还是少?
您可能需要将其分成几部分。
如果它做的不多,就把它传到需要的地方,去掉它的单例性。
如果它提供大量服务,请为每个服务创建接口(interface)并将它们传递到需要它们的地方。您的设计将得到改进,变得更易于测试和更容易理解。
起初,接口(interface)的实现可以委托(delegate)给原来的单例,但你最终想让它们自包含。
关于c++ - 避免插件中的单例在所有实例之间共享,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14090141/
我最近购买了《C 编程语言》并尝试了 Ex 1-8这是代码 #include #include #include /* * */ int main() { int nl,nt,nb;
早上好!我有一个变量“var”,可能为 0。我检查该变量是否为空,如果不是,我将该变量保存在 php session 中,然后调用另一个页面。在这个新页面中,我检查我创建的 session 是否为空,
我正在努力完成 Learn Python the Hard Way ex.25,但我无法理解某些事情。这是脚本: def break_words(stuff): """this functio
我是一名优秀的程序员,十分优秀!