2

プロジェクトとタスクを作成し、見積もりや作業などを適用できる小さなasp.net Webアプリケーションがあります。それらを MS Project ファイルとしてダウンロードできるように、エクスポート機能を作成しています。これは実際には単なる XML ファイルです。

その後、インポート機能を作成します。これにより、タスクの開始日と終了日、割り当てられたリソースなどを再スケジュールできますが、見積もりや適用時間を変更することはできません。これは、Web アプリケーションによってのみ処理されます。

これを行うのに最適なアーキテクチャを見つけようとしています。ここに私がいじっているいくつかのアイデアがあります。

  1. Project クラスに ExportToProject 関数を追加し、その場で XML を作成します。
  2. 既存のクラス構造を取得して XML シリアライザー属性を追加し、オブジェクトをプロジェクト ファイルに直接シリアル化します。ただし、これにはいくつかの疑問が残ります。私が使用していない他のすべてのプロパティはどうなりますか。すべてのデータが含まれておらず、MS Project 用にフォーマットされている場合でも、シリアル化されたオブジェクトはどの程度再利用可能でしょうか。いわば、複数のシリアライズビューを持つことはできますか?
  3. 代わりにシリアル化される新しい XmlExport クラスを作成します。これは上記の戦略に似ていますが、抽象化のレイヤーが追加されています。
  4. FogBugz のコピーを海賊版にしてインストールし、コスタリカに移動します。

ありがとう、助けていただければ幸いです。

4

2 に答える 2

1

3.または1bを使用します。これにより、いつでも簡単に内部構造を変更することができます。

1b. その場で XML を作成できる Exporter クラスを作成します。ただし、そのエクスポーターは Project クラスではなく、別のクラスに配置してください。これは、抽象化の追加レイヤーでもあります。

于 2009-12-01T19:54:22.633 に答える
0

独自に作成する代わりに、.Net および Java ライブラリの便利なセットを提供するMPXJを使用してください。すべてのタイプの MS Project 形式を読み取り、.MPX および新しい XML ベースのファイル形式に書き込みます。

これは POI に基づく堅牢なライブラリであり、多くの作業を節約できます。

于 2009-12-13T18:36:34.297 に答える