2008-01-21
ruby singleton解析
关键字: singleton
搜索了一下,发现JE上还没有关于Ruby singleton的帖子,自己来写个
引用《Programming Ruby》书中的一例
观察这段代码,@@logger对象是在方法调用后被创建,所以这个是典型的单例“懒汉”模式。
某些代码注解:
private_class_method :new
#private_class_method是Module的一个方法,用于将一个已经存在的类方法定义成私有。这里是将new方法定义成私有。
方法
此方法判断@@logger对象实例是否存在,不存在则调用new创建之,存在则直接返回。。
我也“懒汉”,写“懒汉”单例,先写这么多罢
引用《Programming Ruby》书中的一例
引用
class Mylogger private_class_method :new @@logger=nil def Mylogger.create @@logger = new unless @@logger @@logger end end
观察这段代码,@@logger对象是在方法调用后被创建,所以这个是典型的单例“懒汉”模式。
某些代码注解:
private_class_method :new
#private_class_method是Module的一个方法,用于将一个已经存在的类方法定义成私有。这里是将new方法定义成私有。
方法
def Mylogger.create @@logger = new unless @@logger @@logger end
此方法判断@@logger对象实例是否存在,不存在则调用new创建之,存在则直接返回。。
我也“懒汉”,写“懒汉”单例,先写这么多罢
- 13:05
- 浏览 (2192)
- 评论 (1)
- 分类: Ruby&Rails
- 相关推荐
发表评论
- 浏览: 31906 次
- 性别:

- 来自: 北京

- 详细资料
搜索本博客
最近加入圈子
最新评论
-
终于找到一份Ruby开发的工 ...
TomHornson 写道冉翔 写道刑天战士 写道是freewheel吧? 俺 ...
-- by 冉翔 -
终于找到一份Ruby开发的工 ...
冉翔 写道刑天战士 写道是freewheel吧? 俺们8是做机顶盒滴,谢谢 m ...
-- by TomHornson -
终于找到一份Ruby开发的工 ...
刑天战士 写道是freewheel吧? 俺们8是做机顶盒滴,谢谢
-- by 冉翔 -
终于找到一份Ruby开发的工 ...
Ruby好还是Python好?
-- by zyx1986 -
终于找到一份Ruby开发的工 ...
换工作,像打仗,累,稳着先!
-- by hacker47






评论排行榜