Object Oriented Language
年度
- 2014 年度版
Instructor
Goal and Theme
オブジェクト指向設計に重要なデザインパターンについて学ぶ。デザインパターンは、オブジェクト指向言語のプログラミングをする上で、先人たちが培ったノウハウ集である。また、共通のデザインパターンを持つことで、プログラムの構造について、技術者相互の理解が容易になる。本講義では、デザインパターンを、実際の例題の中でどのように利用するのかを体験しながら学んでいく。
授業の到達目標
本講義を受講することで、デザインパターンの基本的な考え方を身に着けることができす。そして、基本パターンを使ったプログラミングを行うことができるようになる。
Abstract
講義参加者は、複数のデザインパターンについて、事前調査と、プレゼンテーションが課される。プレゼンテーションでは、自分の調査したデザインパターンについてプレゼンテーション資料とサンプルコードを用意し、他の学生にわかりやすい説明を行う。この説明に対して、教員がコメントをし、より深い理解を得る。
Schedule
回 | テーマ | 内容 |
---|---|---|
1 | デザインパターン概要 | デザインパターンの基本的な考え方について学ぶ。 例題を通して、デザインパターンの重要性を体験する。 |
2 | UML基礎 | デザインパターンを学ぶために必要なUMLの記法を学ぶ |
3 | Facadeパターン | デザインパターンの記述方法を学ぶ。 Facadeパターンについて理解する。 |
4 | Adapterパターン Strategyパターン | Adapter、Strategy パターンについて理解する。 |
5 | Bridgeパターン Abstract Factory パターン | Bridge、Abstract Factoryパターンについて理解する。 |
6 | Decoratorパターン Observer パターン | Decorator、Observer パターンについて理解する。 |
7 | State パターン Template Methodパターン | State、Template Method パターンについて理解する。 |
8 | Factory Methodパターン Prototype パターン | Factory Method、Prototype パターンについて理解する。 |
9 | Sigletonパターン Double-Checked Lockingパターン Obect Pool | Sigleton, Double-Checked Locking、Object Pool パターンについて理解する。 |
10 | Composite パターン Proxyパターン | Composite、Proxyパターンについて理解する。 |
11 | Mediator パターン Mementoパターン | Mediator, Mementoパターンについて理解する。 |
12 | Visitorパターン Builderパターン | Visitor, Builder パターンについて理解する。 |
13 | Commandパターン Iteratorパターン | Command, Iterator パターンについて理解する。 |
14 | Interpreterパターン Chain of Responsibilityパターン | Interpreter, Chain of Responsibility パターンについて理解する。 |
15 | まとめ | デザインパターンについての総まとめを行う。 |
授業外に行うべき学習活動 (準備学習等)
プレゼンテーション準備のために、プレゼンテーション資料の作成と、サンプロコードの作成を行う。
Materials
Title: Design patterns explained, Second edition (Japanese Ed.)
Authors Alan Shalloway and James R. Trott
Publisher: Pearson Education
Year of publication: 2005
日本語訳は、
デザインパターンとともに学ぶオブジェクト指向のこころ
References
Title: Design patterns (Japanese Ed.)
Authors: Erich Gamma et al.
Publisher: softbank
Year of publication: 1999
日本語訳は
オブジェクト指向における再利用のためのデザインパターン
Evaluation Method
授業への積極的参加、プレゼンテーション内容により評価する。
情報機器使用
ノートPC、ネットワークを利用
学生による授業改善アンケートからの気づき
サンプルコードを見ながら、参加型の授業を行う。