あらためてデザインパターンを勉強することにした、その備忘録。 なんとなくわかっていたつもりでいたが、なんとなくだったと実感した。 IS-A と HAS-A と Implements かなり重要。 IS-A (~である) 継承している 処理を親から子に渡すことができ、プログラムの重複を減らせる HAS-A (~を持つ) プロパティとして設定している インターフェースをプロパティの値としてとることで、処理を委譲することができる。 委譲することで柔軟なプログラムを作ることができる。 IMPLEMENTS (実装する) インターフェースに対して実処理を実装している HeadFirstシリーズで勉強し始めたのだが、このトップの画像のDuckから伸びてるBehaviorの線は HAS-A のはずなのに、IS-A になってる・・・。