得到singleton类?

在Ruby中,无论类或者对象,都有一个singlton类(或者称为metaclass),有兴趣的话读读过去写的这篇《Ruby的对象模型》。当我们获取某个类或者对象的class属性时,其实会忽略c ruby层次上的singleton类,那么我们如何得到singleton类呢?比较有趣的做法:
singletonclass=class<<Test;self;end

对于对象,也是如此:
test=Test.new
metaclass=class<<test;self;end

文章转自庄周梦蝶  ,原文发布时间2007-10-31

时间: 2024-10-21 08:08:17

得到singleton类?的相关文章

实用的泛型Singleton类

Singleton模式是最常的设计模式之一,我们会经常写这类代码.因其基本原理就是保存一个静态的对象实例,所以我们便能利用泛型写出一个通用的Singleton类. 代码很简单: public class Singleton<T> ...{ static readonly T _t; static Singleton() ...{ _t = Construct(); } public static T GetInstance() ...{ return _t; } private static

设计模式的解析和实现(C++)之五-Singleton模式

作用:保证一个类仅有一个实例,并提供一个访问它的全局访问点. UML结构图: 解析: Singleton模式其实是对全局静态变量的一个取代策略,上面提到的Singleton模式的两个作用在C++中是通过如下的机制实现的:1)仅有一个实例,提供一个类的静态成员变量,大家知道类的静态成员变量对于一个类的所有对象而言是惟一的 2)提供一个访问它的全局访问点,也就是提供对应的访问这个静态成员变量的静态成员函数,对类的所有对象而言也是惟一的.在C++中,可以直接使用类域进行访问而不必初始化一个类的对象.

.Net设计模式实例之单例模式( Singleton Pattern)

一.单例模式简介(Brief Introduction) 单例模式(Singleton Pattern),保证一个类只有一个实例,并提供一个访问它的全局访问点.单例模式因为Singleton封装它的唯一实例,它就可以严格地控制客户怎样访问它以及何时访问它. 二.解决的问题(What To Solve) 当一个类只允许创建一个实例时,可以考虑使用单例模式. 三.单例模式分析(Analysis)1.单例模式结构 Singleton类,定义一个私有变量instance;私有构造方法Singleton(

.Net 单例模式(Singleton)

单例模式的意思就是只有一个实例.单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例.这个类称为单例类   每台计算机可以有若干个打印机,但只能有一个Printer Spooler, 以避免两个打印作业同时输出到打印机中.每台计算机可以有若干传真卡,但是只应该有一个软件负责管理传真卡,以避免出现两份传真作业同时传到传真卡中的情 况.每台计算机可以有若干通信端口,系统应当集中管理这些通信端口,以避免一个通信端口同时被两个请求同时调用. 问题描述:         单例模式 Si

设计模式(二)单件模式Singleton(创建型)

SINGLETON(单件)-对象创建型模式        几乎所有面向对象的程序中,总有一些类的对象需要是唯一的,例如,通过数据库句柄到数据库的连接是独占的.您希望在应用程序中共享数据库句柄,因为在保持连接打开或关闭时,它是一种开销.再如大家最经常用的IM,如QQ,在同一台电脑,一个帐号只能有唯一的登录. 1. 问题 怎样确保一个特殊类的实例是独一无二的(它是这个类的唯一实例),并且这个实例易于被访问呢? 2. 解决方案 1)全局变量:一个全局变量使得一个对象可以被访问,但它不能防止你实例化多个

我的设计模式学习笔记------&amp;gt;单例模式(Singleton)

一.前言 有些时候,允许自由创建某个类的实例是没有意义,还可能造成系统性能下降(因为创建对象所带来的系统开销问题).例如整个Windows系统只有一个窗口管理器,只有一个回收站等.在Java EE应用中可能只需要一个数据库引擎访问点,Hibernate访问时只需要一个SessionFactory实例,如果在系统中为它们创建多个实例就没有太大的意义. 如果一个类始终只能创建一个实例,则这个类被称为单例类,这种模式就被称为单例模式. 对Spring框架而言,可以在配置Bean实例时指定scope="

【java设计模式】之 单例(Singleton)模式

1. 单例模式的定义         单例模式(Singleton Pattern)是一个比较简单的模式,其原始定义如下:Ensure a class has only one instance, and provide a global point of access to it. 即确保只有一个实例,而且自行实例化并向整个系统提供这个实例.单例模式的通用类如下图所示:         Singleton类称为单例类,通过使用private的构造函数确保了在一个应用中只产生一个实例,并且是自行

static-多个包含静态变量类的加载顺序???

问题描述 多个包含静态变量类的加载顺序??? 有三个类,SingletonCounter.Test.Singleton,里面都包含了静态变量,SingletonCounter.Test结构差不多,Singleton包含了静态构造函数,静态属性等,将三个类的行都打上断点(需要断点的行有注释--加断点调试),当调试的时候,为什么总是最后执行到SingletonCounter的静态变量instance上??? 测试了很多,和Singleton类的静态构造函数有关,望指点一二,谢谢!!! using S

ExtJS入门之一 类与继承

在项目中使用ExtJS已经有一段时间了, 对于这个庞大的Script类库有了一定的了解, 在Ext的使用上也有了一定的经验, 现将这些经验做一下总结, 作为一个入门材料给大家分享. 对于Ext库, 不要被它的庞大所吓倒, 只要静下心来看SDK, 多做一些练习, 还是很容易上手的. ExtJS 中的类与继承   在Ext下, 定义一个JavaScript类似乎没有什么特别的, 可以直接声明一个构造函数, 并使用关键字new来进行初始化. 有一点值得注意的是在Ext中频繁出现的Singleton类,