Open-Closed Principleのウィキペディアのページ(2013 年 2 月 27 日現在) には、継承によって実現されていると書かれています。
Open/Closed Principleという名前は、2つの方法で使用されています。どちらの方法も継承を使用して明らかなジレンマを解決しますが、目標、手法、および結果は異なります。
「2 つの方法」とは、Meyer の実装の継承と、より一般的なポリモーフィック拡張を指します。
とにかく、私の質問は、継承を使用しないFaçadeパターンについてです。より複雑なサブシステム (またはライブラリ) への単純化されたインターフェイスの形で抽象化を定義するため、これは Open-Closed Principle と見なすこともできませんか? すなわち:
サブシステム (またはライブラリ) は、Façade を使用するクライアントへの拡張用に開かれており、そのインターフェイスは変更に対して閉じられています。
それとも、情報隠蔽の境界を広げているだけなのでしょうか (OCP に非常に近く、特にProtected Variationsと見なす場合)。