单例有哪些具体的合法用途? [复制]

2024-01-08

可能的重复:
关于设计模式:何时使用单例? https://stackoverflow.com/questions/228164/on-design-patterns-when-to-use-the-singleton

这个问题不是关于单身人士是否总体上“被认为是有害的”。我只是想知道,根据您的经验,有哪些具体情况其中单例似乎工作得很好。

EDIT:如果您想讨论单身人士的适当性和/或邪恶性,请一般来说,已经存在问题:137975 https://stackoverflow.com/questions/137975/what-is-so-bad-about-singletons, 11831 https://stackoverflow.com/questions/11831/singletons-good-design-or-a-crutch

哎呀!我刚刚发现我的问题已经在这里被问过:关于设计模式:何时使用单例? https://stackoverflow.com/questions/228164/on-design-patterns-when-to-use-the-singleton


我们基本上将它们用于两件事:日志记录和配置。两者都假设应用程序有一个中央配置和一个中央日志文件,并不总是有效,但在我们的大多数代码中它是有效的。我们有时也会将它们用于某些工厂类或缓存类,我们希望确保我们不会重复关键元数据。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

单例有哪些具体的合法用途? [复制] 的相关文章

  • 绑定到 Singleton 类 Observable 集合成员

    我似乎无法弄清楚这一点 我在这里发现了一些类似的问题 但要么我无法找出我的方法的正确方向 要么我正在做一些完全错误的事情 我的应用程序有一个单例类记录器 它保存程序中每个类的日志消息 public class Logger private
  • 设计问题:哪种做法更好? (第2部分)

    我有一个 Web 界面 我将从中收集用户数据 用户名 密码 电子邮件等 后端必须将这些数据提供给 3 个其他系统 SystemA SystemB SystemC 配置由 3 个不同的 API 完成 每个 API 对应一个系统 A B 和 C
  • 代理模式和装饰者模式的区别

    你能给出任何好的解释吗 Proxy and 装饰者 我看到的主要区别是 当我们假设Proxy uses 作品 and 装饰者 uses 聚合那么似乎很清楚 通过使用多个 一个或多个 装饰器您可以修改 添加功能到预先存在的实例 装饰 而Pro
  • 为什么通用存储库被视为反模式? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 在我看来 许多专门的存储库类都具有相似的特征 并且让这些类实现一个概述这些特征的接口 创建一个通用存储库是有意义的 为了说明我的观点 假设我们有
  • MouseAdapter:它使用哪种模式?

    我已经找到了很好的资源 这些资源告诉我 Java API 中的 MouseAdapter 没有使用适配器模式 问题是 MouseAdapter 是否实现了某种模式 我知道它的作用 它为 MouseListener 接口创建了一个具体的类 因
  • Windows Azure - 无单点故障的领导者实例

    我正在寻找一种在多个辅助角色实例上拥有 单例 模块的方法 我希望在 Azure 中拥有一个带有队列和多个辅助角色的并行执行模型 这个想法是希望有一个 主 实例 也就是说检查新数据 并通过将其添加到队列来调度它 处理来自特殊队列的所有消息 该
  • 为什么要分离接口和实现?

    在生产代码中 我经常看到定义如下的类 public interface SomeComponent Some methods public class SomeComponentImpl implements SomeComponent S
  • 策略模式的现实示例

    我一直在读关于OCP原理 http en wikipedia org wiki Open closed principle以及如何使用策略模式来实现这一目标 我打算尝试向几个人解释这一点 但我能想到的唯一例子是根据 订单 的状态使用不同的验
  • 横切关注点示例

    什么是一个很好的例子cross cutting concern 医疗记录示例维基百科 http en wikipedia org wiki Cross cutting concern页面对我来说似乎不完整 具体来说 从这个例子来看 为什么日
  • 为什么我收到错误“错误 C2259:...无法实例化抽象类”?

    任何帮助都是appriced 我正在研究 C 工厂模式 但收到此错误 1 gt c users brian documents visual studio 2010 projects cst276lab 3 guitar hpp 456 错
  • 使用 Doctrine2 时的多重歧视级别

    我正在使用 Doctrine2 来管理我的模型 如下 有一个抽象概念Content与复合模式Gallery 也是一个抽象概念Media从中Video and Image继承 我的选择是添加鉴别器Content and Media表以便区分G
  • STL(标准模板库)中使用的设计模式

    我正在学习STL和设计模式 我想知道是否有任何文档或链接可以解释如何在 STL 中实现设计模式 我做了谷歌但无法获得太多数据 我希望你的意思是 哪些设计模式可以在STL中识别 STL 堆栈是一个容器适配器 适配器是一种设计模式 迭代器也是一
  • 与竞争的消费者顺序处理消息

    Problem 我以特定顺序 FIFO 在队列上接收消息 比如订单 我的队列中有竞争的消费者 为了进一步增加复杂性 消费者可能只对订单的特定版本感兴趣 具体取决于其状态 例如版本 1 版本 2 和版本 5 订单版本号在订单上可用 但不能用于
  • 业务代表与服务定位器

    Business Delegate 和 Service Locator 之间有什么区别 两者都负责封装查找和创建机制 如果 Business Delegate 使用 Service Locator 来隐藏查找和创建机制 那么 Busines
  • 强制函数调用的顺序?

    假设我有一个抽象基类 并且我想要一个必须由派生类实现的纯虚方法 但我想确保派生方法以特定顺序调用函数 我可以做什么来强制执行它 I E base class virtual void doABC 0 virtual void A 0 vir
  • C++ 中的单例和抽象基类

    最近我遇到了关于实现 Singleton 但涉及抽象基类的问题 假设我们有这样的类层次结构 class IFoo it s ABC class Foo public IFoo 我们的单例类定义如下 template
  • C 中的 N 依赖注入 - 比链接器定义的数组更好的方法?

    Given a 库模块 在下文中称为Runner 它作为可重复使用的组件 无需重新编译 即静态链接库 中应用程序分区架构的 而不是主分区 请注意 它仅包含main 出于演示目的 Given a set 顺序无关 调用的其他模块 对象Call
  • Java:基于 Web 的应用程序中的单例类实例

    我在 Web Application 中有这个 Singleton 类 public class MyDAO private static MyDAO instance private MyDAO public static MyDAO g
  • 发布者-订阅者与观察者[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Joshua Bloch 的构建器设计模式有何改进?

    早在 2007 年 我就读过一篇关于 Joshua Blochs 所采用的 构建器模式 的文章 以及如何修改它以改善构造函数和 setter 的过度使用 特别是当对象具有大量属性 其中大部分属性是可选的 时 本文对此设计模式进行了简要总结

随机推荐