10月17日の学び

qiita.com

  • デザインパターンっていっても全23パターンが重要なわけではないので注意。中には「これ特に命名するほどでもないよね!?」というのもある。
  • モジュール間の疎結合化を勧めていくと自然と同じことをやっていたことも多い。
  • 以下順不同でつらつらとまとめていく。

Interpreterパターン

  • 抽象構文木および文法規則の実装そのものである。これはではパターンとは言えない。

Templateパターン

  • 抽象クラス・サブクラスを用いて継承を利用しているだけ。
  • 抽象クラスの型にサブクラスを代入していることに注意。

Facadeパターン

  • 内部処理を隠蔽することで、呼び出し側が利用するAPIを最小化する。
  • 呼び出し側とは疎結合になる。
  • 大きなシステムを作るときはFacadeパターンを再帰的に用いることで見通しが良くなる。

Buildパターン

  • Director呼び出し側でも、呼び出されたDirector内部でも、利用するサブクラスによって呼出し方を実行していないことに注意。
  • 一般にオブジェクト指向においては、サブクラスのインスタンスのメソッドを利用する場合は、スーパークラス側のメソッドを利用することで、サブクラス間の個別性を意識しないようにして扱う。