APITT - システム開発分野 - オブジェクト指向
「デザインパターン」

content PBL
講師について
講義の目標と目的
  1. デザインパターンを知る
  2. Java のある程度複雑なソースを読む
  3. 1.と2.によりオブジェクト指向の真髄を知る

講義の進め方
  1. テキスト(増補改訂版Java言語で学ぶデザインパターン入門)を読む
  2. サンプルプログラムを読む
  3. ちょくちょく質問しますので、可能であれば答えて下さい(答えられなくても一向に構いません)
  4. サンプルプログラムをEclipseで作成し、実行する
  5. テキスト中の問題を解く

スケジュール (希望があれば、別のパターンで講義を進めることも可能です)
(時間が余ったり足りなかったりした場合はスケジュールを変更させて下さい)

講義時間

休憩


デザインパターンとは?
Template Method パターン

Template Methodパターンからはこんなことが学べます。

  1. 抽象クラス(abstract class)はなんのために存在するの?
  2. ポリモフィズム(polymorphism)とは?
  3. スーパークラスとサブクラスの連係プレー
  4. 設計(者)と実装(者)の分業

Tag Jump 図


Singleton パターン

Singleton パターンからはこんなことが学べます。

  1. 仕様をプログラムで表現する
  2. 仕様が満たされる事を保証する
  3. インスタンス化(new)できないクラスを作る方法

Tag Jump 図


Adapter パターン

Adapter パターンからはこんなことが学べます。

  1. インタフェース(interface)はなんのために存在するの?
  2. ポリモフィズム(polymorphism)とは?
  3. 継承と委譲
  4. ラッパー(Wrapper)

Tag Jump 図(継承バージョン)
Tag Jump 図(委譲バージョン)


Proxy パターン

Proxy パターンからはこんなことが学べます。

  1. 必要になってからインスタンス化する
  2. 透過的なクラス
  3. 委譲

Tag Jump 図


Facade パターン

Facade パターンからはこんなことが学べます。

  1. 複雑な処理を簡単にみせる
  2. 1箇所にまとめる
Tag Jump 図
Factory Method パターン

Factory Method パターンからはこんなことが学べます。

  1. フレームワーク(Framework)
  2. Generics(J2SE 5.0 の新機能)
Tag Jump 図
パターン指向リファクタリング

パターン指向リファクタリング


SampleプログラムTagJump図
  1. Iterator
  2. Adaptersample1 sample2
  3. TemplateMethod
  4. FactoryMethod
  5. Singleton
  6. Prototype
  7. Builder
  8. AbstractFactory
  9. Bridge
  10. Strategy
  11. Composite
  12. Decorator
  13. Visitor
  14. Chain of Responsibility
  15. Facade
  16. Mediator
  17. Observer
  18. Memento
  19. State
  20. Flyweight (数字データ)
  21. Proxy
  22. Command
  23. Interpreter(補助教材)

参考リンク
おまけ

SampleプログラムHTMLTag

講義資料のダウンロード(6.4M)

PHPでデザインパターンダウンロード


content
  1. 講師について
  2. 講義の目標と目的
  3. 講義の進め方
  4. スケジュール
  5. デザインパターンとは?
  6. Template Method パターン
  7. Singleton パターン
  8. Adapter パターン
  9. Proxy パターン
  10. Facade パターン
  11. Factory Method パターン
  12. パターン指向リファクタリング
  13. SampleプログラムTagJump図
  14. 参考リンク
  15. おまけ