Twitterで素晴らしいツイートを見つけた。

確かにそのとおり。目先の流行りの技術ではなく、しっかりとしたソフトウェアの基盤技術を身につけるべきだと思う。すごく身にしみる・・

身につける技術とは

ソフトウェアの技術といっても多々あるが、抑えておくべきは「オブジェクト指向」だと思う。プログラミング言語は代替可能であるが、オブジェクト指向は大きなトレンドだ。オブジェクト指向を学ぼう。

オブジェクト指向で迷える人のために、オブジェクト指向の入門書を紹介しよう。

(初めの3冊は入門書で、最後の2冊は難しい)

HUGOMORE42

オブジェクト指向概要

憂鬱なプログラマのためのオブジェクト指向開発講座―C++による実践的ソフトウェア構築入門 (DDJ Selection)

憂鬱なプログラマのためのオブジェクト指向開発講座―C++による実践的ソフトウェア構築入門 (DDJ Selection)

  <div class="amazlet-powered-date" style="font-size:80%;margin-top:5px;line-height:120%">
    posted with <a href="http://www.amazlet.com/browse/ASIN/4881356194/eikatou-22/ref=nosim/" title="憂鬱なプログラマのためのオブジェクト指向開発講座―C++による実践的ソフトウェア構築入門 (DDJ Selection)" target="_blank">amazlet</a> at 12.07.29
  </div>
</div>

<div class="amazlet-detail">
  Tucker <br />翔泳社 <br />売り上げランキング: 72011
</div>

<div class="amazlet-sub-info" style="float: left;">
  <div class="amazlet-link" style="margin-top:5px;margin-bottom:30px">
    <a href="http://www.amazon.co.jp/exec/obidos/ASIN/4881356194/eikatou-22/ref=nosim/" name="amazletlink" target="_blank">Amazon.co.jp で詳細を見る</a>
  </div>
</div>

概要を学ぶための本。「データと振る舞いは、同じクラスにしましょう」や「継承とは」という事が分かれば良い。あくまで、オブジェクト指向の概要が分かれば良いと思う。

オブジェクト実践

増補改訂版Java言語で学ぶデザインパターン入門

増補改訂版Java言語で学ぶデザインパターン入門

  <div class="amazlet-powered-date" style="font-size:80%;margin-top:5px;line-height:120%">
    posted with <a href="http://www.amazlet.com/browse/ASIN/4797327030/eikatou-22/ref=nosim/" title="増補改訂版Java言語で学ぶデザインパターン入門" target="_blank">amazlet</a> at 12.07.29
  </div>
</div>

<div class="amazlet-detail">
  結城 浩 <br />ソフトバンククリエイティブ <br />売り上げランキング: 8467
</div>

<div class="amazlet-sub-info" style="float: left;">
  <div class="amazlet-link" style="margin-top: 5px;margin-bottom:30px">
    <a href="http://www.amazon.co.jp/exec/obidos/ASIN/4797327030/eikatou-22/ref=nosim/" name="amazletlink" target="_blank">Amazon.co.jp で詳細を見る</a>
  </div>
</div>

オブジェクト指向的なプログラムを書くために、始めに手をつける本(Javaの勉強は終わっている事)。デザインパターンはテクニック集なので、少しずつ実践していくと良いだろう。継承やインターフェースに慣れると良い。

オブジェクト実践2

リファクタリング―プログラムの体質改善テクニック (Object Technology Series)

リファクタリング―プログラムの体質改善テクニック (Object Technology Series)

  <div class="amazlet-powered-date" style="font-size:80%;margin-top:5px;line-height:120%">
    posted with <a href="http://www.amazlet.com/browse/ASIN/4894712288/eikatou-22/ref=nosim/" title="リファクタリング―プログラムの体質改善テクニック (Object Technology Series)" target="_blank">amazlet</a> at 12.07.29
  </div>
</div>

<div class="amazlet-detail">
  マーチン ファウラー <br />ピアソンエデュケーション <br />売り上げランキング: 34830
</div>

<div class="amazlet-sub-info" style="float: left;">
  <div class="amazlet-link" style="margin-top: 5px;margin-bottom:30px">
    <a href="http://www.amazon.co.jp/exec/obidos/ASIN/4894712288/eikatou-22/ref=nosim/" name="amazletlink" target="_blank">Amazon.co.jp で詳細を見る</a>
  </div>
</div>

デザインパターンを学んだはいいけど、どういうところで使うかが分からない、という事になる。そういう時期に読むと良い。この本には、デザインパターン以外の事もたくさん書いてあるが、すごく役に立つので読んでおくべし。

アーキテクチャ

エンタープライズ アプリケーションアーキテクチャパターン (Object Oriented Selection)

エンタープライズ アプリケーションアーキテクチャパターン (Object Oriented Selection)

  <div class="amazlet-powered-date" style="font-size:80%;margin-top:5px;line-height:120%">
    posted with <a href="http://www.amazlet.com/browse/ASIN/4798105538/eikatou-22/ref=nosim/" title="エンタープライズ アプリケーションアーキテクチャパターン (Object Oriented Selection)" target="_blank">amazlet</a> at 12.07.29
  </div>
</div>

<div class="amazlet-detail">
  マーチン・ファウラー <br />翔泳社 <br />売り上げランキング: 245922
</div>

<div class="amazlet-sub-info" style="float: left;">
  <div class="amazlet-link" style="margin-top: 5px;margin-bottom:30px">
    <a href="http://www.amazon.co.jp/exec/obidos/ASIN/4798105538/eikatou-22/ref=nosim/" name="amazletlink" target="_blank">Amazon.co.jp で詳細を見る</a>
  </div>
</div>

設計とアーキテクチャについて書かれている名書。ある程度の実戦経験があると、いろいろな点で納得できる内容だろう。デザインパターンは一部の設計だが、こちらは全体の設計について書かれている。

ドメインモデリング

エリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践)

エリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践)

  <div class="amazlet-powered-date" style="font-size:80%;margin-top:5px;line-height:120%">
    posted with <a href="http://www.amazlet.com/browse/ASIN/4798121967/eikatou-22/ref=nosim/" title="エリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践)" target="_blank">amazlet</a> at 12.07.29
  </div>
</div>

<div class="amazlet-detail">
  エリック・エヴァンス <br />翔泳社 <br />売り上げランキング: 85038
</div>

<div class="amazlet-sub-info" style="float: left;">
  <div class="amazlet-link" style="margin-top: 5px;margin-bottom:30px">
    <a href="http://www.amazon.co.jp/exec/obidos/ASIN/4798121967/eikatou-22/ref=nosim/" name="amazletlink" target="_blank">Amazon.co.jp で詳細を見る</a>
  </div>
</div>

いよいよ本命。ドメインモデリングについての本。詳細は「[ 技術講座 ] Domain-Driven Designのエッセンス 第1回」を参考にすると良いだろう。

(私は、まだ読み切れていないので、適当な事は書けない。上記のサイトを読んでいるだけでも非常に参考になるので紹介した。)


「Software Design 2012年8月号」で「エンジニアのパワーアップ読書」という特集が組まれている。その中の紹介者の一人が、この中の4冊と同じ本を紹介していた。「やっぱりそうなるよね」と思った。

本を読んで勉強も大切だけど、やっぱり実践で身につく物が多い。本を参考にして、実践あるのみ!