デザインパターンおさらい #0 UML

ちょくちょく虫食い勉強していたデザインパターンをおさらいしようと、有名なデザパタ入門書を読むことにしました。これから数回にわたって、読んだ感想とか大事だと思ったことを記録していこうと思います。なにか疑問や間違ってるところがあれば、コメントで指摘していただければ助かります。よろしくお願いします。

増補改訂版Java言語で学ぶデザインパターン入門

増補改訂版Java言語で学ぶデザインパターン入門

 

UML

継承・実装

最初で紹介されている, 継承と実装の矢印の向きはいつもわからなくなります。 ここで紹介されている、

相手を指すことができるのは相手を知っているときだけです。

というのはすごくわかりやすいです。

  • クラスの継承の際には、子クラスから親クラスに対して (実線)
  • インターフェースの実装の際には、実装クラスからインターフェースに対して(点線)

矢印を引けばいいとわかります。

集約

あるインスタンスをメンバーとして所有する関係のことを集約と呼ぶ。

アクセス制御

  • publie: +publicField, +publicMethod
  • private: -privateField, -privateMethod
  • protected: #protectedField, #protectedMethod

クラスの関連

クラス間の関連を表すために▶を用いる。

  • ClientがTargetを使用: Uses▶
  • FactoryがProductを生成: Creates▶
  • SubjectがObserverに通知: Notifies▶