機能追加に関して

私は常々、プログラミングの「機能追加」は、2パターンしかないと思っている。以下の2パターンだ。

  • 包含
  • 並列

この分類は、結合関係に焦点を当てての分類だと思っている。


基本はモジュールで考えることだ。包含とは、自分が相手を含むことであり、並列とは、相手と同列にならべて(つまりフラットな関係で)自分を存在させることである。依存関係を、前者は継承や集約などにより行い、後者はディスパッチ(引数渡し)などで行う。


しかし、機能追加は、OCPと絡めて解説しないと意味がない。これは、時間のあるときに記事にするつもりであるが、今は時間がない。時間があるときにまとめよう。