読書メモ
・「さくら先生のオブジェクト指向特別レッスン 〜UMLからデザインパターンまで」
(森 さくら :著、技術評論社 \1,680) : 2009.05.17
内容と感想:
タイトルからして敷居を下げて広い層に読んでもらおうというナンパな技術書という印象だが、
本書はさくら先生と新入社員が対話形式でオブジェクト指向やUMLの読み書き、デザインパターンなどを学んでいく、
というスタイルで書かれている。初心者の読み物として「とっつき」はよいだろう。
(対話形式なだけに本論とは無関係な無駄な会話も多い。それはご愛嬌。対話形式のよさは口語調で、イメージもしやすいこと)
Part1の後半はGoFの「デザインパターン」の全てを解説しているが、
紙面数から言って無理がある。決して分かりやすい説明とは言えない(理解できない私が馬鹿なのか)。
はっきり言って、後半のPart2は「オブジェクト指向」とは直接関係のない記述が多く、
本の構成としては問題がある(目次も見ないで買った自分が悪いが、残念である)。
○ポイント
・オブジェクトを利用する側はインターフェースだけを意識していればよい
・汎化:複数のクラスの共通項を抜き出して、基本クラスを作る
・ポリモフィズム:同じメッセージでも、受け取るオブジェクトによって異なる動作をさせることができる。
共通するメソッドを呼ぶだけでよい。
・シーケンス図の複合フラグメント:分岐、繰り返し、並行処理などをフレームで囲んだ中で表現する
・タイミング図:オブジェクトのライフラインの状態遷移を時間経過にあわせて折れ曲がった線で示す(UML2.0で追加)。
・オーバーロード(多重定義):同一名でパラメータの数やデータ型が異なるメソッドやコンストラクタを複数定義すること
・クラスは参照型、構造体は値型(値そのものをもつため、値の読み書きは高速。一時的なデータやサイズの小さいものに適す)
・仮想メンバ:仮想メソッド、仮想プロパティ。基本クラスに「virtual」修飾子を付ける。インターフェースは変更しないで処理内容だけを変えたい場合など。
派生クラス側で必ずしも実装しなくてよい。
・抽象クラス:継承されることを前提としている。「abstract」修飾子を付ける。多重継承不可。
・インターフェース:メソッド名やプロパティ名と、それぞれの仕様しか定義されていない。中身がない。多重継承可能。
・デザインパターンの多くはポリモフィズムを実際にどう利用するかが書かれている
・デザインパターンの中でも使用頻度の高い「Iterator」パターン
・CLR(Common Language Runtime):「.NET Framework」の共通言語ランタイム環境。
CLR上で動作するように書かれたプログラムは「managed code」。メモリやOSの機能を直接利用するプログラムは「un-managed code」。
managed codeとun-managed codeを相互に呼び出すことも可能。
・.NETではDLL地獄から開放される
・Webフォーム:IE上で動作するアプリ
・Windowsフォーム:Windows上で動作するアプリ
・Clicknce:クライアントアプリケーション配布の仕組み。バージョンアップ版をWebサーバに配置することで、自動的に更新できる。
-目次-
Part1 オブジェクト指向簡単講座
オブジェクト指向のハジメ方
UMLの読み方/描き方
オブジェクト指向ソースの書き方
デザインパターンの使い方
Part2 さくら先生のプログラミングQ&A
プログラミングQ&A 基本編
プログラミングQ&A .NET編
プログラミングQ&A C#編
|