タグ

ブックマーク / sundome.cocolog-nifty.com (1)

  • 委譲と継承 - カタコト備忘録

    継承と委譲の使い分け。 GoFのデザパタでも簡単ではないと書いてある。 ファウラーの『リファクタリング』では ・委譲による継承の置き換え サブクラスがスーパークラスの一部のインターフェースだけを使っている。あるいはデータを継承したくない。 ・継承による委譲の置き換え 委譲を使っていて、すべてのインタフェースに対する単純な委譲をたくさん書いている。 とあるわけだが、もっと概念的である 程度正しい視点があるのでは? というのも、 みねこあ:憂を買ってみました ではじめて知った 実装継承 という言葉が非常にしっくりきたわけです。 これじゃないかと。 そこで、少しググってみた結果、 よく言われる、「継承よりコンポジション(has)して委譲」するべき場面として、 型ではなく実装の再利用を目的としている 時だと、言ってしまってもわりと正しそうだということがわかったわけなので、ここに宣言します。

    委譲と継承 - カタコト備忘録
    kiyo_hiko
    kiyo_hiko 2012/04/17
    「継承のリスク - 外部に対しては、情報隠蔽されていても、親子間では情報隠蔽がゆるいのです.実装継承を動機とした継承ではなおさらです.子供は親(の実装)に一般的に強く依存しがちです」
  • 1