タグ

singletonに関するlilpacyのブックマーク (3)

  • コンパニオンオブジェクトって何のためにいるの? for Rubyist - Qiita

    初めてRubyからscalaに来たとき、「なんで特異クラスっぽい? シングルトンパターンっぽい?やつがいっぱいいるの?」と悩みました。なぜならrubyのクラス変数やシングルトンパターンはアンチパターン扱いされるほど嫌われていたからです。 しかし、 scalaのコンパニオンオブジェクトとrubyの特異クラスは見かけ上似ていますが、意味が違います。 この記事ではRubyエンジニア目線で、Scalaのコンパニオンオブジェクトについて解説していきたいと思います。 コンパニオンオブジェクトとは? 「コンパニオンオブジェクト」とは、あるクラスに対して同じスコープ、同じ名前で定義されたシングルトンオブジェクトです。 これがコンパニオンオブジェクトです。 が、シングルトンオブジェクトに対して漠然とした不安を感じます。。 コンパニオンオブジェクトはrubyのintializeみたいなもん しかし、その不安は

    コンパニオンオブジェクトって何のためにいるの? for Rubyist - Qiita
  • Javaでグローバル変数っぽいものを使う方法

  • Scalaオブジェクトメモ(Hishidama's Scala object Memo)

    概要 Javaではstatic(静的)なメンバー(フィールド・メソッド)というものを定義できた。 静的なフィールドとは、アプリケーション内(JavaVM内)に一箇所にしか存在しないフィールド(データ)のこと。 (通常の(動的な)フィールドは、インスタンス毎にデータを保持する) Scalaにはstaticは無い。代わりにシングルトンオブジェクトを作成する機能がある。 シングルトンとは、インスタンスがアプリケーション内に1つしか存在しないこと。 クラスのインスタンスが1つしか作られないとき、その唯一のインスタンスをシングルトンオブジェクトと言う。 ※オブジェクトのメンバーはstaticメンバーの様に扱えるが、実際にはstaticではない Scalaでシングルトンオブジェクトを定義するにはobjectを使う。 classと同様に、他クラスを継承したい場合はextends、トレイトを継承したい場合

  • 1