【ワールドクラスのオンサイト(一社)研修】
オブジェクト指向デザインパターン

コース番号:252P
日数:4日間(ご希望に合わせた日数・内容のカスタマイズが可能です)
形態:ハンズオン

研修コースの概要

デザインパターンとは、拡張性、保守性、再利用性などの点で優れた既存のオブジェクト指向のプログラムの中に共通に現れる構造を、抽象化し分類・整理したもので、オブジェクト指向開発を成功に導くための実証済みの汎用的な指針です。多くのデザインパターンはポリモーフィズムを有効に活用することにより凝集度が高く結合度が低い、つまり保守性、拡張性、再利用性に優れたコードを生成する方法を示しています。いまやオブジェクト指向の開発者にとって、デザインパターンの知識と応用能力は不可欠です。

このコースでは、デザインパターンを活用して、優れたオブジェクト指向のプログラムを設計・開発するための知識とスキルを身に付けます。単に概要を学ぶのではなく、パターン1つ1つについて、C#.NETで記述されたサンプル・プログラムをクラス図、オブジェクト図、そして実行時メモリー図などを利用しながら精読・解析することにより、ソース・コードのレベルでその記述の仕方や実行時の動作、そして特徴・利点等を深く理解します。そのような深い知識により、はじめて直面している問題に最も効果的なパターンを選びだし、適用する応用力がつきます。また、パターンを使っていないプログラムを、パターンを使ったものに書き換えその効果を確認したり、いくつかのパターンを効果的に組み合わせたりといった演習を行い、高品質のプログラムを開発するノウハウを身につけます。さらに、コースの最後で受講者のさらなるコーディング技術の向上を目指し、リファクタリングの紹介を行います。

この研修では次のスキルが習得できます

  • 一つ一つのデザインパターンにソース・コードのレベルで精通し、さまざまなアプリケーションに、それらを効果的に適応できる応用力をつける
  • 高品質ソフトウェアの条件である低結合度・高凝集度のソフトウェアの設計法をソース・コードのレベルで理解する
  • オブジェクト指向プログラミングの本質であるポリモーフィズムの効果的な使い方に精通する
  • クラス図やオブジェクト図を使い、オブジェクト指向のプログラムを効率的に解読、そして開発するノウハウを身に付ける
  • プログラムの実行時の動作をメモリー上の変数割付のレベルで把握する方法を学び、再起呼び出しを多用するような複雑なプログラムでも解析、あるいは開発できるようになる
  • 多くの「きれいな」オブジェクト指向プログラムを精読することにより、「きれいな」プログラムの書き方を学ぶ

この研修の対象者

このコースは、Java、C#、あるいはC++等のオブジェクト指向言語、そしてオブジェクト指向の設計法をある程度理解したアーキテクト・設計者の方が、さらにもう一段のスキルアップをはかるのに最適です。

コース内容

オブジェクト指向の基礎

  • オブジェクト・クラス・関連・リンク
  • オブジェクトの実行時環境とメモリー・イメージ、ヒープとフレームスタック
  • UMLクラス図、オブジェクト図
  • 継承とポリモーフィズムの詳細
  • デザインパターンの概要

汎用デザインパターン

  • Delegate
  • Iterator Pattern
  • Singleton Pattern
  • Template Method Pattern

インタフェースのパターン

  • Façade Pattern
  • Proxy Pattern
  • Adapter Pattern
  • Bridge Pattern

ビューとコントローラのパターン

  • Observer Pattern
  • Mediator Pattern
  • Command Pattern
  • Chain of Responsibility Pattern

オブジェクト生成のパターン

  • Prototype Pattern
  • Factory Method Pattern
  • Abstract Factory Pattern
  • Memento Pattern
  • Flyweight Pattern

アルゴリズムのパターン

  • Strategy Pattern
  • ステート・マシンと状態遷移図
  • Interpreter Pattern
  • State Pattern
  • State Machine図(旧ステート・チャート)の実装

リファクタリング入門

  • 25~30種類位のリファクタリングについて理解する

演習の内容

コース全体を通して、GoFの23のデザインパターン一つ一つについて、

  • そのパターンの目的、意義の理解
  • その例を実装した高品質なC#.NET のソース・コードの解読、その実行動作の確認と理解、その一部に変更を加えた場合の動作の確認、といったソース・コードのレベルでの深い理解
  • そのパターンを使わなかったときのコード(アンチ・パターン)についての考察

といったことを行います。さらに演習でいくつかのパターンを効果的に組み合わせて、高品質のプログラムを開発するノウハウを身につけます。

受講者の声

「非常に分かり易い講義で、デザインパターンの全てを理解できたと思う。ソースコードもシンプルに作られており、デザインパターンを理解するには十分な量だった。」

「4日間でデザインパターンを網羅的に学習できた。期待以上の内容だった。」

「独学では理解しきれなかったことが理解できたので非常に満足。早く実践したくてうずうずしている。」

「教材の内容に合わせた実ソースコードの量は圧巻。すぐに業務で使える内容も見い出せた。」

「具体的なサンプルコードを常に見ながら学習を進めていたためか、概要レベルで止まらずに実際に使える形まで身に付いた。」

「デザインパターン名からコード例やクラス図が頭に浮かんでくるようになり、今後に活かせると思った。」

「オブジェクト指向研修の際に得た知識をもとに、デザインパターンの実践的な力と理解を得ることができたと思う。書籍を読むだけでは絶対に得られないレベルの理解ができたと感じた。」

「講義で演習を繰り返すうちに、理解していること、理解スピードが上がっていることを自分でも実感できた点が素晴らしかったです。」

「講師はデザインパターンを実践的に使ってコーディングされていた方なので、概念的な説明ではなくすべてコードレベルで教えて頂けた。」