06/12/29 09:00:04
クラスが悪いとかクラスじゃできないとか言ってるんじゃなくて。
Client からは統一的に扱える、同じように見えるって側面を強調するなら
インターフェースでいいじゃねえかと。
委譲のパターンでもTargetはインターフェースで説明できるのに
そっちの方がより無駄のない本質的な説明になるのに、
なんでクラスなの?と。
(>>192では委譲・継承とクラス・インターフェースの組み合わせが逆だった。)
↓これが一般例で、他はもう特殊例でしょ?
<<interface>>
client → Target <|・・・・・Adapter ・・・・・|> Adaptee
implements uses
ひどいところでは
継承使うパターンがデフォですよ、
単一継承でいかんともしがたい時には
委譲使うパターンで回避ですよ、
に近い説明すら行ってる。
なんかもうコードが共有されるなら継承が最高の解なんだよ、みたいな。
それは15年前に通ってきた道だろう、と。