当我实现“实例/单例”类型模式时,RubyMine通知使用类变量被认为是不好的方式。
我发现的唯一信息是使用类变量可能会使继承有些混乱。是否还有其他原因,导致以下代码会给我带来问题?
此外,从 Ruby 的角度来看,是否有更好的方法来实现同样的目标,以确保只有一个实例?
我发现的唯一信息是使用类变量可能会使继承有些混乱。是否还有其他原因,导致以下代码会给我带来问题?
class Settings
private_class_method :new
attr_accessor :prop1
attr_accessor :prop2
@@instance = nil
def Settings.instance_of
@@instance = new unless @@instance
@@instance
end
def initialize
@prop2 = "random"
end
end
此外,从 Ruby 的角度来看,是否有更好的方法来实现同样的目标,以确保只有一个实例?
Settings.instance_of
的主体可以简化为@@instance ||= new
。 - sawa