複合パターンを含むコードを記述していますが、いくつかの説明が必要です。私はスーパーマネージャー、メインマネージャーと通常マネージャーを持っており、彼らはトップマネージャーと降順階層にあります。複合パターンの実装
私は、スーパーマネージャーがメインマネージャーにいくつかのお金を与え、メインマネージャーが通常マネージャーにお金を与えることができるようにしたいと思います。私が持っている問題は、メインマネージャーがスーパーマネージャーにいくつかのお金を与えることを望んでいないことと、instanceof
を使用したくないということです。コンポジットパターンの目的を破るからです。
メインマネージャーと通常マネージャーは、gradeManagersという抽象クラスを拡張していますが、スーパーマネージャーには、gradeManagersタイプのコンポーネントを追加できる配列リストがあります。
私は悪いコーディングスタイルをシグナリングすることができるinstanceof'私のコード –
@Jackwelch '中のインスタンスを含めることが好きではないが、それを避けるためにフープを介してジャンプすることは良くないでしょうので、ありがとうございます。いずれかを行う必要がある場合は、他の場所で行う必要があるリファクタリングがあるかもしれません。 – kba
+1良い回答@Ted – Nilesh