倭マン's BLOG

くだらない日々の日記書いてます。 たまにプログラミング関連の記事書いてます。 書いてます。

Client 役

デザインパターンの書籍に載っているクラス図や役割を見ていて、Client 役(クラス)があったりなかったりするので、有無を票にしてみました。

特に「振る舞いに関するパターン」にはあるとかといったものは無いかな。 とりあえず、「AbstractXxxx」と「ConcreteXxxx」がある場合は「AbstractXxxx」を使おう!ってことくらいが共通項でしょうか? まぁ単純に、各パターンそれぞれで、どのクラスは Client が使っていいのか(もしくはどのクラスを使ってはいけないのかの方が重要かも)を表しているとしか言いようがないでしょう。

以下の表では

に載っているクラス図を参考にしました。 各欄の記号は

  • Client 役があれば『○』
  • Client 役が無ければ空欄
  • クラス図が載っていなかったり、サイト自体がなかったりした場合は『-』
  • GoF 本で Client が薄くなっている(灰色になっている)場合は『△』

としています。

パターン Gang of Four 結城浩 Wikipedia
(日本語)
Wikipedia
(English)
LePUS3
and
Class-Z
Abstract Factory
Builder -
Factory Method
Prototype - - -
Singleton -
Adapter
Bridge
Composite
Decorator
Facade -
Flyweight -
Proxy
Chain of Responsibility - - -
Command -
Interpreter - -
Iterator -
Mediator - - -
Memento - - -
Observer -
State -
Strategy
Template Method
Visitor