0

私は現在、ADIF と呼ばれる複数のファイル書き込み仕様 (XML 1.0、XML 2.0、XML 3.0 などをサポートする必要がある場合を想像してください) をサポートするプロジェクトに取り組んでいます。現在、2 つの標準 (バージョン 1.0 とバージョン 2.2.2) があり、どちらも商業的に使用されており、現在も頻繁に使用されています。

仕様バージョン 2.2.2 にはバージョン 1.0 の多くが組み込まれていますが、一部の継承やその他の OOP ツールを除外するわずかな違いがあります。

古いバージョンをサポートしながら、新しい標準に対応し続けるために、プロジェクトをどのように編成しますか?

  • 単一のクラス ライブラリ内の名前空間 (Standard.Version1、Standard.Version222、Standard.Version223 (次のバージョン?) など)? ずさんなようです。
  • 同じソリューション (Version222.dll、Version223.dll など) 内のそれぞれのクラス ライブラリを分けますか? 過剰に思えます。

あるバージョンから別のバージョンに変換するコードを実装するつもりです。

基本的に、この種のプロジェクトを最適に編成する方法についてのアドバイスを探しています。

http://www.adif.org/

4

2 に答える 2

1

実装できる適切な継承階層がないと述べましたか?

その場合は、ライブラリの名前空間手法に従うことをお勧めします。これにより、dll 内で可能な共通性を使用して、作業負荷を軽減できます。2 つの API を使用すると、テストが大幅に容易になり、バージョン間の違いに関する問題にも適切に対処できます。

つまり、バージョン 2.2.2 API は、ライブラリの問題を防ぐために 2.2.2 バージョンのオブジェクトのみを受け入れます。

于 2009-01-19T01:53:38.470 に答える
0

仕様バージョン 2.2.2 にはバージョン 1.0 の大部分が組み込まれていますが、一部の継承やその他の OOP ツールを除外するわずかな違いがあります。

オブジェクトの構成は、IMO が使いすぎている継承よりもはるかに強力な OOP のツールになる可能性があります。

問題をより単純なサブシステムに分解するには、どのような方法を見つけることができますか?

于 2009-01-19T02:00:36.303 に答える