Skip to content

Java言語で学ぶデザインパターン学習メモ

Notifications You must be signed in to change notification settings

y-tsuzaki/LearnDesignPattern

Repository files navigation

# Java言語で学ぶデザインパターン 学習メモ

  1. Iterator 1つ1つかぞえあげる
  2. Adapter 一皮被せて再利用
  3. Template Method 具体的な処理をサブクラスにまかせる
  4. Factory Method インスタンス生成をサブクラスにまかせる
  5. Singleton たった一つのインスタンス
  6. Prototype コピーしてインスタンスを作る
  7. Builder 複雑なインスタンスを組み立てる
  8. Abstract Factory 関連する部品を組み合わせて製品を作る
  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 文法規則をクラスで表現する

UMLについて

※忘れやすいところだけ抜粋

クラス図

  • 階層構造
◁ー is-a
  • 実装
◁…    is-a
  • 集約
←◇    has-a / aggregation

アクセス制御

- Private
# Protected
+ Public
~ Package

シーケンス図

デザインパターンを学ぶ前に

  • デザインパターンはクラスライブラリそのものではない
    • より一般的な概念
  • しかし、クラスライブラリの中でデザインパターンは使われている
  • プログラムを完成品として見ないこと
    • どのような機能が拡張される可能性があるか?
    • その機能拡張を行うときに修正が必要になるのはどのクラスか?
    • 修正が必要なのはどのクラスか?
  • 図は見るのではなく、読むこと
  • 自分で例を考えること
  • 役割を理解すること --白雪姫の役は誰か?

About

Java言語で学ぶデザインパターン学習メモ

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published