書評Javaのプログラムを書いているとき、「これはベストな書き方なのか?」という疑問は常にあると思います。ネットで調べる、レビューを受けるといった、確認方法はいくつかあると思いますが、その一つが本書になると思います。大型本この商品を含むブログを見る表紙の情報量が非常に多いのが特徴です。「はじめに」に書いてあるのでほぼ合っていると思います。オススメな人Javaをある程度お仕事で書いてきた体系的に学びなおしたいお仕事で書いてきたというのは、実際に稼働するコードを書いた。他人の書いたコードを読んだり直したりしたことがある、という意味です。特徴トピックは多岐にわたりますが、全般的にめちゃくちゃ絞り込んであります。「本格入門」であって入門書ではないので、ある程度文法を分かっている前提で進みます。筆者のこれまでの経験を生かして、「結局どうすればいいか」が書いてあります。インタフェースのデフォルト実装をとりあげます。抽象クラスとどのように使い分けるのかという疑問について、「インタフェースのデフォルト実装は基本的に使わなくてよい」と簡潔に答えています。理由としては、デフォルト実装は、Javaの「過去のバージョンとの互換性*1」のために生まれたという、Javaの歴史を感じるものになっています。納得感のある説明になっていると思います。デザインパターンGoFのデザインパターンは23種類もあって身に着けるのが大変ですが、本書では9つに絞って紹介しています。結城『デザインパターン入門』に比べると、書中ですべてのコードを載せているわけではありませんが、実際に使いそうな例になっています。Factoryパターンでの呼び出し側のコードは以下の通りです。}}ただ、個別のパターンの解説の詳しさは、結城本のほうが上回っています。このパターンでは「工場」を増やすのは簡単です。OracleFactoryは既存の実装に影響を与えずに追加できます。新しい「部品」、HogeSettingsを追加しようとすると、すべての既存の「工場」に影響が出てしまうので大変です。そのような説明が結城本に記載されています。本書でも記載はありますが、個人的には結城本を読んで初めてちゃんと理解できた印象です。「わかっている人にはこれくらいの説明で十分」という感覚ですかね。記載のないもの後半で、デザインパターンや各種ライブラリの説明がありますが、基本的には各クラス内で、どのように書くべきかという説明が中心になっています。設計的な話はあまりないのかな*2という印象です。まとめブログタイトルに「濃縮する」と書いた通り、コンパクトに必要な記載を詰め込んでいるのが本書の良いところだと思います。余談ですが、私は6年くらい前に筆者たちが所属するアクロクエストテクノロジー株式会社に1日インターンに行ったことがあります。当時は1ミリもプログラムを書いたことがなかったはずなのになんで行ったのか全く覚えていませんが、こういった形でまた巡り合うことになるとは、不思議な縁を感じます。積んでいたのをようやく崩しました。AWSがOpenJDKを提供するというニュースが入ってきました。仕事中に登場したので復習を兼ねて書きます。(1)月別アーカイブはてなブログをはじめよう!alek3さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。