1

雇用主が文書管理に使用する、社内で開発されたアプリケーションのコアを書き直す機会がありました。私の「コア」要件リストは次のようになります。

  • さまざまな形式へのインポート/エクスポートを容易にします (ファイルのコレクション + かなり広範なメタデータが共通の要素です)。
  • 複数のレベルで新しいフィールド (グローバルではなくデータ駆動型のフィールド) を簡単に追加できるようにする
  • 古いシステムの基本的な前提に違反するいくつかの新しい機能を導入します (基本的に、ドキュメントを取り巻くメタデータの構造は根本的な変化を遂げています)。
  • ドキュメントとメタデータの関係と規則を厳密に管理する能力を維持する

私はシリアライゼーションを世界との通信の主要な手段として使用するアーキテクチャをいじくり回してきましたが、これまでのところ結果に満足しています。ユーザー インターフェイス、XML ストア、およびさまざまなソースとシンクに対応するためにコア クラスを変更することなく、簡単にデータベースにアクセスできます。これは基本的に六角形のアーキテクチャであると考えています。すべてのシリアライゼーション ターゲットを同じように扱います (Serialize メソッドの注入可能な依存関係として)。

ただし、これはこのアプローチを使用した最初の試みであり、誰かが経験を持っているかどうか、もしそうなら洞察やアドバイスがあるかどうか疑問に思っています。

4

1 に答える 1

2

私の最初の直感は、コア クラスのシリアル化に大きく依存するものはすべて、バージョン管理の問題に遭遇する可能性が高いということです。 )、可能であればインターフェイスを静的に保つことができるサービス/コントラクトベースのアプローチではありません。

ただし、システムがどのように使用され、時間の経過とともに進化するかについて大規模な仮定を行わずに、何らかの意見を述べるのは非常に困難です。アプローチに満足している場合は、それを続けて、どのように私たちに知らせてください行きます。

于 2010-02-03T05:20:20.887 に答える