0

C# アプリケーションでは、次のような文字列の配列があります。

string[] myArray = GetStrings(source);

ここで、この配列の内容をさまざまな形式のファイルに書き込みたいと思います。

  • フラットリスト
  • CSV
  • XML
  • ...

ただし、これらのさまざまな形式を実装する最も適切な方法は何であるかはわかりません。私は考えることができました:

  1. フォーマットごとに 1 つのクラス。それぞれにWrite()メソッドがあります。
    • FlatListWriter
    • CsvWriter
    • XmlWriter
  2. 複数のメソッドを含む 1 つのクラス:
    • WriteAsFlatList()
    • WriteAsCsv()
    • WriteAsXml()
  3. Write()1 のようなメソッドとその実装クラスとのインターフェース。
  4. ある種の抽象クラス。

あなたは何をお勧めします?

4

2 に答える 2

2

あなたのオプションはすべて合理的で、同じように良いように見えます. システムのその他の要件に基づいて選択する必要があります。

将来フォーマットを追加したい場合で、複数の人がそれらを作成する場合は、ライターごとに 1 つのクラスを使用する方が適切なオプションと思われます。これらは分離したほうがよいため、それらを動的にロードして個別にテストできるからです。

これらのメソッドを一部の PowerShell スクリプトから呼び出したい場合は、同じクラス内の複数の静的メソッドを使用すると、より簡単で便利なソリューションになる場合があります。

于 2013-06-18T21:20:37.083 に答える
1

個人的な経験から言えば小さなツールですが、物事を独自のクラスに分けたほうがよいことがわかりました。いくつかの機能を追加する必要がある場合は、そうすることで時間を節約できます。

また、これは、私が作成するほとんどすべてのツールで実行するために選んだベスト プラクティスである、より優れた単体テストの準備を整えます。これにより、コードが改善され、アプリケーションをテストする時間が節約されます。統合テストを作成する場合は、ライターごとに個別のクラスが役立ちます。これに関するその他のヒントについては、Roy Osherove のブログをお読みください。

このアドバイスがお役に立てば幸いです。

于 2013-06-18T21:39:29.213 に答える