HackerNews

人々はいつ継承よりも構成を好むようになったのか?

When did people favor composition over inheritance?

https://www.sicpers.info/2025/11/when-did-people-favor-composition-over-inheritance/


「構成を継承よりも好む」という考え方は、ソフトウェア設計においてよく見られるフレーズですが、その背景には多くの議論があります。これは「Gang of Four」の『デザインパターン』に由来し、オブジェクト指向設計の原則として位置づけられています。継承は「ホワイトボックス」の再利用形式であり、クラスが実装の詳細を完全に把握できます。一方、構成は「ブラックボックス」で、外部からはインターフェースしか見えないため、柔軟性があります。特に現代の言語は、コンパイラーでの型チェックや静的解析の利点が強調され、ランタイムでの決定がバグにつながる可能性を避けるべきとされています。一方で、構成は時に手間がかかるものの、ランタイムでの変更が容易であり、実装依存性を持たない点が設計者に自由をもたらします。このように、構成の優位性は設計上の柔軟性を捉える重要な観点となっています。