2010-12-02 10 views
0

独自の命令セット(独自のプログラム)と、これらのプログラムを実行するメインクラスから別のオブジェクトを扱うプログラムがあります。 [ - マーク・ピータースのおかげでSingletonパターン] 1つの使用されたクラスと '静的なクラス'

  • を持つクラスInstructionHandlerを作る

    • 、クラスInstructionHandlerを作る私のメインクラスでのインスタンスを作成し、その1つのオブジェクトに要求を渡します。そして、私は2つの選択肢があります静的メソッドを使用してメインクラスでこれらを使用する

    ソフトウェア設計の観点からはどうすればよいでしょうか?

  • +2

    最初の方法では「シングルトンパターン」と呼ばれるものを使用します –

    答えて

    0

    Interpreter Patternをご利用いただきありがとうございますか?文法を作成するために、オブジェクトごとに命令セットを組み合わせることはできますか?

    0

    あなたはシングルトンではるかに良いです。たとえば、(テストなどのために)システムの動作を変更したければ、静的メソッドがそれを妨害します。シングルトンを使用すると、問題のメソッドをサブクラス化してオーバーライドしてから、通常のクラスインスタンスの代わりにサブクラスのインスタンスを使用できます。静的メソッドではそのような置換は不可能です。

    +0

    サブクラス化ではなくテスト用にモック(EasyMock、JMock)を使用できませんか? –

    +0

    はい。そして、はい、それらのいくつかは静的な方法でさえもスタッキングすることを許可します。だから私は恐らくその事件を誇張した。しかし、なぜこれらのツールはルーチンの操作に必要ではないようにクラスを設計しないでください? –

    関連する問題