ソフトウェア開発メモ

日々のソフトウェア設計、実装で考えている、気づいた事を書いています。それが真実か否かは保証しません。悪しからず。

3階層の継承関係を見直す

はじめに

抽象クラス→抽象クラス→具象クラスのような。3階層の継承は往々にして分かりにくくなる。 これはネストが3階層以上になるとコードを読む際に頭がねじれるのと同じことだろう。

解決策

抽象クラスと具象クラスの2層に置きかえたい。

ただ、異なるサブクラス間で処理、制御の共通化は行ないたい。制御逆転のコードを入れたい。抽象クラスに(その中で動かすための)プロトコルを差し込めるようにするの一般的な解決策になるだろう。

問題

インタフェースの切り出し方に頭を使うかもしれない。

付録のクラス図

f:id:objectiveworker:20140928102315p:plain