1

ClassA と ClassB という 2 つの別個のクラスがあり、これらは同じ基本クラスから派生していますが、ビジネス ロジックは異なります。同じ基本クラスから派生する 3 番目のクラス ClassC を定義する必要があります。このクラスは、既存の 2 つのクラスの組み合わせになります。つまり、特定の基準に応じて、ClassC の DoSomething() メソッドが呼び出されるたびに、代わりに ClassA または ClassB からそのメソッドを呼び出したい (これらは静的メソッドではありません)。基準。(ClassC のインスタンスごとに、ClassA または ClassB ロジックが必要かどうかを決定する基準が変わる可能性があることに注意してください)。これを始めるのに役立つ特定の設計パターンはありますか? ありがとう。

4

2 に答える 2

5

State または Strategy パターンを確認する必要があるようです。基本的に必要なのは、継承ではなく委任です。

于 2012-08-17T13:10:55.753 に答える
3

継承の代わりに構成を使用する必要があるようです。複合パターンをご覧ください: http://en.wikipedia.org/wiki/Composite_pattern ウィキペディアの例では、ツリーのような構造を実装するために使用されます。あなたの例ではツリーがないため、子を反復する代わりに、カスタムロジックを適用して ClassA または ClassB 実装を呼び出すだけです。

于 2012-08-17T13:18:28.093 に答える