0

条件に基づいて子クラスまたは親クラスを返すデザインパターンはありますか?

シナリオは次のとおりです。

基本クラスと、基本クラスを拡張する複雑なクラスがあります。私が必要とするのは、ユーザーの要件に従って、基本クラスまたは複雑なクラスを返すことです。基本的な if else 条件を使用して実装できましたが、これは正しいロジックではないように感じます。私のクラスがこのような構造を持つことができるシナリオを考えると、これを行う適切な方法がなければなりません

public class SimpleClass {}

public class ComplexClass extends SimpleClass {}

public class MoreComplexClass extends ComplexClass {}

そして続く……

私の質問が間違っていて、クラスの作成方法を変更する必要がある場合。ガイドしてください。

4

3 に答える 3

2

Factory methodの代わりにパターンを使用する方がよいと思いますAbstract Factory。たとえばここを見てください http://www.codeproject.com/Articles/37547/Exploring-Factory-Pattern

于 2013-07-23T19:14:30.443 に答える
0

このようなタスクは通常、Factory Methodパターンを使用して実装されます。あなたの場合、それは次のようなものです:

public class SimpleClass{
    public static SimpleClass getMyClass(String cond1/*you conditions as parameters here*/){
      if ("case1".equals(cond1))
          return new ComplexClass();
      //...
      return new SimpleClass();
    }
}
于 2013-07-23T19:15:47.807 に答える