0

質問タイトル失礼します。私はこれを言葉にするのに苦労しています。私がしていることをあなたがどのように呼ぶことができるかさえわかりません。編集に感謝します。
私の例を見てください。
最初の例は、1 行の単純な呼び出しであることが気に入っています。また、注意: BasicJokeGenerator は GoodJokeGenerator でのみ使用されます。分割の理由は、両方のクラスがすでにかなり長いためです。2 番目の例では、から独立し
てテストでき、よりクリーンに感じられます。GoodJokeGenerator#generate()BasicJokeGenerator

class JokePrinter{
    printJoke(){
        System.out.println(GoodJokeGenerator.generate(String topic));
    }
}

class GoodJokeGenerator{
    String generate(String topic){
        String joke = BasicJokeGenerator.generate(topic);
        // ... some logic to make it really good
        return joke;
    }
}

また

class JokePrinter{
    printJoke(){
        String basicJoke = BasicJokeGenerator.generate(topic);
        System.out.println(GoodJokeGenerator.generate(String basicJoke));
    }
}

class GoodJokeGenerator{
    String generate(String joke){
        // ... some logic to make it really good
        return joke;
    }
}
4

2 に答える 2

1
    class JokePrinter{
        printJoke(){
            GoodJokeGenerator joke = new GoodJokeGenerator();
            String newJoke = joke.generate();
            System.out.println(newJoke);
        }
    }

class GoodJokeGenerator extends BasicJokeGenerator{
    String generate(String joke){
        String basicjoke = super.generate(joke);
        // ... add some spice to basic joke 
        String newJoke = basicJoke + addedSomeLogicalSpice;
        return newJoke;
    }
}

私はこのように実装します。

于 2013-09-11T08:45:46.547 に答える