2017-04-06 5 views
1

こんにちはstackoverflowers、デザイン - 静的ユーティリティクラスまたはインターフェイス?

JSONファイル、XMLファイル、SPList(共有ポイントリストに追加)、多分後で誰かが知っている、処理されたデータをいくつかの方法でエクスポートしたいと思います。私は実行時にエクスポート戦略を選択しません、私はちょうど3人の誰かがその心を変える場合に備えたいと思っています...

私はそれぞれの方法に対応するクラスを持っています輸入と輸出については、いわゆる「ステートレスクラス」ですか?)

私は、どのような実装が最も良いか混乱しています。

私は3つの静的なクラスを作ることができます。これらは 'ユーティリティクラス'なので、instanciationを気にすることなく簡単に呼び出すことができます。これらのメソッドは「fire'n'forget」のようなものです。新しいエクスポート方法が必要な場合は、隔離されたクラスがたくさんあります。

一方、私はインポートとエクスポートのメソッドとインターフェイスを作成し、私のクラスは、インターフェイスを実装することができます。しかし、それは私に1つの呼び出しのインスタンスを作成させ、私は実際には(私は現時点では実行時に選択しない)ファクトリを必要とせず、インターフェイスが強く正当化されていない(多形の必要はない?新しいメソッドが追加されました。新しいパラメータが不要な場合は、インターフェイスを再度実装するだけです。

静的ユーティリティクラスまたはインターフェイスのどちらを使用しますか?多分何かか?

答えて

0

私はインターフェイスに投票します。そうすればOpen-Closed原則に従うことになります。つまり、あなたのプログラムは延長のために開かれ、変更のために閉鎖されます。具体的には選択しますBuilder Design Pattern

このアプローチではオブジェクトを作成する必要がありますが、それは大丈夫だと思います。インタフェースはJavaで高速です。ファクトリーパターンにも出向いて、輸出業者/輸入業者を決定することができます。

関連する問題