Java SE7 Gold 取得を目指して (4)
Java SE7 Gold をとりたい…!
本日は第4回目です。
今日のこぼれ話
ひさびさにC#からJavaを書いていて感じるのは、やっぱり型推論欲しいなーという点。
第3回の Outer.Inner obj = new Outer().new Inner();
とか辟易としますよね。あまり使いませんけど。
あとじわじわ効いてくるのが、List<MyClass> list = new ArrayList<MyClass>();
でしょうか。ProjectCoinで List<MyClass> list = new ArrayList<>();
で書けるよ!とか言われましても、恩恵はわずかといいますか…。
え、GroovyとかScalaとかKotlinとか、甘い誘惑はやめてください、試験勉強中ですよ!
Lombok? 何それおいしいんですか? おなか壊しませんかね…。
本日知ったこと(4章)
-
is-a と has-a
- has-a で特に強い関係がコンポジション → 全体と部分のオブジェクトの生存期間が同じ
- is-a でも has-a でも他クラスの機能を利用できるが、利用する側にとって不要な機能が追加されてしまうような場合は has-a でのアプローチがよさそう
-
パターン
- Singleton
- よく見る(使う)
- マルチスレッドとかを考えて
synchronized Single getInstance() { ... }
とかやる
- DAO
- Frameworkの普及で意識しなくてもこのパターンを使っていることが多い
- Factory
-
valueOf()
はこのパターンらしい。 せっかくなのでIntegerクラスのソースを見た。いろいろ省略すると↓
-
public static Integer valueOf(String s, int radix) { return valueOf(parseInt(s, radix)); } public static Integer valueOf(String s) { return valueOf(parseInt(s, 10)); } public static Integer valueOf(int i) { return new Integer(i); }
- Singleton
デザインパターンとか出てきて、Goldらしい内容になってきた気がします。
ところで、is-a ってイズアって読むんですね。英語で考えれば当然なんでしょうが、「BオブジェクトはAオブジェクトだ」という意味でイズエーだと思ってました。口に出す前に知ってよかったです。
Author And Source
この問題について(Java SE7 Gold 取得を目指して (4)), 我々は、より多くの情報をここで見つけました https://qiita.com/tomoki1207/items/7c009e8a25bda9824901著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .