单例继承

2024-01-17

如何从单例类继承到需要相同功能的其他类? 这样的事情有意义吗?


乔恩·斯基特写过这个 http://codeblog.jonskeet.uk/2006/01/19/singleton-inheritance/一会儿回来。是可以实现的some尽管使用嵌套内部类确实还有一些不足之处,但单例继承的好处。它没有无限的可扩展性,它只是一种让单例在运行时选择自己的实现的技术。

实际上,从 Singleton 继承并没有多大意义,因为 Singleton 模式的一部分是实例管理,一旦您已经拥有基本类型的物理实例,那么在派生类型中重写任何这些都为时已晚。即使可以,我怀疑它可能会导致设计难以理解,甚至更难以测试/维护。

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

单例继承 的相关文章

  • 与竞争的消费者顺序处理消息

    Problem 我以特定顺序 FIFO 在队列上接收消息 比如订单 我的队列中有竞争的消费者 为了进一步增加复杂性 消费者可能只对订单的特定版本感兴趣 具体取决于其状态 例如版本 1 版本 2 和版本 5 订单版本号在订单上可用 但不能用于
  • 三层 Asp.Net 应用程序中的异常处理

    1 据我了解 在three tierAsp Net应用程序我们应该通过以下方式实现异常处理 a 我们应该把try catch围绕代码块 位于三层中的任何一层 我们希望页面能够从该代码块正常恢复 当此代码生成异常时 b 我们不应该放try c
  • 强制函数调用的顺序?

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

    我在 Web Application 中有这个 Singleton 类 public class MyDAO private static MyDAO instance private MyDAO public static MyDAO g
  • NHibernate 中具有不同类型答案的问题

    我正在尝试找到一个问卷问题的简洁解决方案 假设我有一个Questionnaire类有一个集合Answers e g public class Questionnaire public virtual ISet
  • 如何为抽象工厂创建的类设置特定属性?

    是否可以让具体工厂使用抽象工厂模式为其创建具有特定类型参数的具体类 或者由各自的具体工厂创建的不同具体类是否需要具有相同的字段 例如 在下图中 您将如何使用客户端 应用程序 给出的不同参数集来实例化 WinButton 和 OSXButto
  • 策略模式还是命令模式?

    假设我有一个金融交易列表 我需要针对这些交易执行一系列验证规则 一个例子是我有一笔购买产品的交易 但是首先我需要验证交易中的帐户是否有足够的可用资金 产品没有售完等 由于这些规则 交易将是标记为拒绝 并应指定错误代码 当然 我正在考虑用一个
  • 静态库中的单例类

    假设我在静态库中有一个单例类 S 它可以与其他动态库 D1 D2 D3 链接 因此 据我了解 类 S 在每个 D1 D2 和 D3 中都会有一个单独的实例 即使它不是单例 如全局 这也是正确的 有什么办法可以防止S类的多副本吗 我无法将单例
  • IoC 服务的抽象类还是接口?

    我目前正在使用 IoC 在项目中提供存储库的具体实现 我读过的所有示例都使用接口作为服务的定义 但是 在阅读了 Microsoft 的建议后 建议更喜欢抽象类而不是接口 http msdn microsoft com en us libra
  • UML类图:抽象方法和属性是这样写的吗?

    当我第一次为一个小型 C 项目创建 uml 类图时 我在属性方面遇到了一些麻烦 最后我只是将属性添加为变量 lt
  • C# 扩展方法 - 设计模式

    我想知道 C 扩展方法是否基于任何现有的设计模式 设计模式只是一种众所周知的范例 即 当你想实现 X 时 就做 Y 面向对象语言 例如 C 中的一个众所周知的范例是 当您想要对对象的状态进行操作时 调用它的实例上的方法 但是 在创建扩展方法
  • 静态类与类的实例

    我有一个静态类 用于访问我的公共属性 整个应用程序的全局属性 和我在应用程序运行期间使用的方法 例如 我在静态类中设置了一些属性 并且在应用程序运行时我可以从属性中获取值 但我可以使用单例模式创建非静态类并以相同的方式使用它 问题 对于我的
  • Struts ActionForm 属性应该是什么类型?

    我使用 Struts 1 2 4 继承了这个巨大的遗留 Java Web 应用程序 我有一个关于 ActionForms 的具体问题 其中一些仅具有字符串属性 即使对于数字 其中一些使用看似合适的类型 整数 日期 字符串等 这里的最佳实践是
  • 确保 Singleton 仅调用一次数据库查询

    我正在尝试创建一个对象来负责读取所有用户访问设置 我已经创建了这样的类 public class SettingsManager private static string connString Data Source MyDB Initi
  • 模块化大型 Grails 应用程序的最佳实践?

    我正在开发的 Grails 应用程序变得相当大 最好将其重构为几个模块 这样我们就不必每次都重新部署整个事情 将 Grails 应用程序拆分为多个模块的最佳实践是什么 特别是 我想创建一个域类 相关服务的包 并将其作为模块在应用程序中使用
  • 是否有任何库可以解析Java中的“数字表达式”,例如1,2-9,33-

    我不认为这很难 只是写起来很乏味 一些小的免费 如啤酒 库 我可以在其中放入像 1 2 9 33 这样的字符串 它可以告诉我给定的数字是否与该数字匹配表达 就像大多数程序的打印范围对话框一样 仅匹配奇数或偶数 或匹配每个 2 mod 5 或
  • 初始化单例的不同方式

    在 C 和 Java 中 我基本上看到了每个人初始化单例的一种方法 static obj inst null obj getInstance if inst null inst new obj return inst 现在 当我转向 iPh
  • PHP:我是否将事件驱动编程与信号感知接口(信号和槽/观察者模式)混淆了?

    我看到很多人说 Symfony2 Zend Framework 2 等都是事件驱动的 在桌面世界中 通过事件驱动编程 我了解到应用程序每当其状态发生变化时都会通知其观察者 由于 PHP 应用程序是无状态的 因此无法执行此类操作 IE 让观察
  • 在事件聚合器中混合枚举与事件类

    我最近尝试实现自己的简单事件聚合器 我从 MSDN 上的事件聚合器文章中获得了很多灵感 关于 MSDN 上的事件聚合器 我注意到一件事是事件实际上是它们自己的类 这根本不是一件坏事 然而 我只是觉得总是为每个小事件创建一个新的空类很尴尬 我
  • 池和集群之间的区别

    从最纯粹的角度来看 它们感觉像是相同的概念 两者都管理资源 节点集并控制来自外部组件或由外部组件进行的访问 通过池 您可以向池借用这些资源 节点 也可以从池中归还这些资源 节点 对于集群 您在资源 节点前面有一个负载均衡器 并且您可以向负载

随机推荐

  • 为什么线程本地存储这么慢?

    我正在为 D 编程语言开发一个自定义标记释放样式的内存分配器 它通过从线程局部区域进行分配来工作 与代码的其他相同的单线程版本相比 线程本地存储瓶颈似乎导致从这些区域分配内存的速度大幅减慢 50 即使在将我的代码设计为每次分配仅进行一次 T
  • 使用边框半径将子元素剪辑到父元素

    如何强制将子元素剪辑到具有圆角的父元素 div class item div class top h1 Tile h1 h2 Click me h2 div div class behind h3 Details h3 div div 当为
  • java.lang.NoSuchMethodError org.springframework.core.annotation.AnnotationUtils.getAnnotation

    当我运行 junit 测试时 我可以获得正确的结果 并且数据可以存储到数据库中 当我将项目部署到 tomcat 中时 出现此异常 我的spring版本是3 1 1 tomcat版本是6 0 2012 02 29 16 40 54 968 E
  • 如何在 TensorFlow 中生成随机向量并维护它以供进一步使用?

    我正在尝试生成一个随机变量并使用它两次 但是 当我第二次使用它时 生成器会创建第二个随机变量 该变量与第一个随机变量不同 这是演示代码 import numpy as np import tensorflow as tf A random
  • JGoodies 绑定教程代码发生了什么?

    我想学习如何使用 JGoodies 绑定 因为 beans 绑定似乎已死在水中 它的 fork 也是如此 JGoosides 绑定文档引用了教程源代码 但此代码在最新 2 5 发行版中不可用 查看以前的发行版本后 似乎教程代码已在 2 0
  • R Shiny:本地运行应用程序与部署应用程序时导出的 PNG 分辨率不同

    我想在部署的 Shiny 应用程序中创建具有手动指定分辨率的 PNG 图像 此 PNG 图像应保存在我的 Dropbox 中 由于某种原因 我的 Shiny 应用程序的部署版本没有采用res内的论证png功能考虑在内 考虑以下示例 Load
  • 如何获得high_resolution_clock的精度?

    C 11 定义high resolution clock它有成员类型period and rep 但我不知道如何才能得到精确那个时钟的 或者 如果我可能无法达到精确度 我是否可以至少以纳秒为单位得到一个计数最小可表示持续时间刻度之间 可能使
  • 用作异步任务时出现后台服务错误

    我在 Xamarin Android 中有一个后台服务 但问题是我无法将其用作Async方法 它给出一个错误 返回类型必须是 StartCommandResult 以匹配重写成员 Service OnStartCommand Intent
  • XSLT 具有重叠元素?

    所以这篇文章的标题可能有点误导 但这是我能想到的最好的标题 我正在开发一个使用 TEI 进行文本编码的项目 我当前工作的要求之一是编写 XSL 转换以将 XML 编码的文本呈现为 HTML 大多数情况下 没有问题 不过 我对这个问题有点困惑
  • 选择器不区分大小写?

    我正在尝试使用 jQuery 进行 XML 处理 我使用 jQuery 遇到的问题之一是它在处理标签和属性时不区分大小写 例如 考虑以下代码 div div
  • 将术语转换为原子并在 YAP prolog 中保留变量名称

    有没有办法配置 YAP 和 或 SWI prolog 以便它们在任何调用中保留变量名称term to atom 2 例如 当我执行此操作时 term to atom member X 1 2 A 我得到这个答案 A member 13140
  • 如何确定 HTML5 拖放文件上传 API 是否存在(如 FF3.6 中的 API)

    我正在编写一个应用程序 该应用程序应该支持文件的 HTML5 拖 放 API 非常类似于所描述的here https developer mozilla org en Using files from web applications Se
  • dplyr 过滤器不适用于润滑时间格式?

    当试图回答时这个问题 https stackoverflow com questions 46360218 delete all times less than a specified value 我遇到了使用问题filter from d
  • 在后台执行命令

    我正在实现一个迷你 shell 它将模拟真正的 bash shell 我在后台执行命令 例如ls 我的第一个方法如下 不起作用 char execArgs ls NULL execvp ls execArgs 然后我尝试了另一种方法 修改父
  • 如何将多个参数传递到 JavaScript 回调函数中?

    JavaScript 代码 function doSomething v1 v2 blah function SomeClass callbackFunction callbackFuncParameters Array this call
  • Jython 2.5.1:从 Java 调用 __main__ - 如何传入命令行参数?

    我在 Java 中使用 Jython 所以我有一个类似于下面的Java设置 String scriptname com blah myscript py PythonInterpreter interpreter new PythonInt
  • 从元组列表中提取不同的值

    如何从以下元组列表中提取不同值的列表 tuple test 123 test 465 test 8910 test2 123 我想得到一个像这样的列表 different values test test2 现在我想通过这个 键 访问所有值
  • 在运行时填充多维向量

    显然这不起作用 所以代码是错误的 但我该如何修复它呢 据我所知 这整件事可能是错误的 哈哈 但我正在尝试创建一个在运行时创建自身的多维向量 我收到错误 vector subscript out of range include
  • jersey ws 2.0 @suspended AsyncResponse,它有什么作用?

    我正在分析一些 jersey 2 0 代码 我对以下方法如何工作有疑问 Stateless Path mycoolstuff public class MyEjbResource GET Asynchronous does this mea
  • 单例继承

    如何从单例类继承到需要相同功能的其他类 这样的事情有意义吗 乔恩 斯基特写过这个 http codeblog jonskeet uk 2006 01 19 singleton inheritance 一会儿回来 是可以实现的some尽管使用