Ruby クラスのシングルトン インスタンスを取得するためにファクトリ メソッドを使用することを計画していましたが、Ruby ガベージ コレクションで動作するかどうかはわかりません。
EGのようなものがある場合:
class Foo
def self.getInstance
@@instance = Foo.new if @instance.nil?
return @@instance
end
def counter
@counter
end
def increment
@counter++
end
private
def initialize
@counter = 0
end
end
したがって、これが他の言語で機能する方法は、 @instance がガベージコレクションを無期限に存続することに精通しているため、 Foo.getInstance.increment は、プログラムの存続期間中、継続的に上昇するカウンターを持つことができます。
ただし、クラスのインスタンス変数 @@instance への参照が保持されている可能性があるかどうかはわかりませんが、ガベージ コレクションは行われますか?