「Java言語で学ぶデザインパターン入門」(1)
第5章 Singleton たった1つのインスタンス
- コンストラクタをprivateにするってのはおもしろい
- 1つのインスタンスはstaticでprivateなメンバ変数に対してnewされている
- newされているが無限ループにならないのは、staticなメンバ変数で1度しかnewされないから。
- このインスタンスはgetInstanceというインスタンスの参照を得るためのメンバ関数を呼ぶときに生成されるらしいが、このタイミングなのはなぜか? Java言語の仕様らしいがその設計思想は?
- 問題5.3の書き方はマルチスレッドを考えるとだめなんだね… おみそれしました。
第6章 Prototype コピーしてインスタンスを作る
- インスタンスから別のインスタンスを作る理由は分かるようで分からない
- Prototype役がJavaのinterfaceで実現されているのが不思議。抽象クラスの方がそれっぽい。 ⇒ 抽象クラスを使う場合や、Javaのinterfaceとの間に親クラスをはさむ場合もある(Template Methodパターン)
- メッセージでインスタンスを生成がすばらしい。これはクラス名の束縛からFWを分離しているらしい。ソースの中に利用するクラス名が書かれていると、そのクラスと切り離して再利用ができなくなる。
- マーカインターフェースというものがある
第7章 Builder 複雑なインスタンスを組み立てる