10月18日の学び

Bridgeパターン

継承と密結合

  • 抽象クラスは機能を提供し、継承するサブクラスは実装を提供するという役割分担がある。
  • 抽象クラスとサブクラスが密結合になるため、機能と実装が密結合となる。
  • そのためn個の複数の抽象クラスがm個の同じ実装を保つ場合は、n*m個のサブクラスが生成される。

機能と実装の分離

  • 機能と実装を分離するのがBridgeパターン。
  • 機能は機能で継承し実装は実装で継承する。
  • サブクラスの数はn+m個となる。
  • 各機能クラスが実装を参照する場合は、サブクラスの継承ではなく、実装クラスのインスタンスを参照する。